【问题标题】:Create Google Map Markers with PHP使用 PHP 创建 Google 地图标记
【发布时间】:2012-01-09 00:14:48
【问题描述】:

所有, 我的数据库中存储了一些位置,其中包含长坐标和纬度坐标。我正在为每个位置创建地图或为所有位置添加标记之间进行辩论。任何关于这个想法的建议都会受到赞赏,但我的问题是我从我的 mySQL 数据库中获取这些值。看起来您实际上可以添加这些的唯一方法是通过 javascript。我是否需要将坐标传递给 javascript 函数来创建标记?那看起来怎么样?任何建议表示赞赏!

【问题讨论】:

    标签: php javascript mysql google-maps google-maps-markers


    【解决方案1】:

    你是对的。您必须从数据库中获取数据并使用以下内容:

      function initialize() {
        var myLatlng = new google.maps.LatLng(<?php echo $lat; ?>,<?php echo $long; ?>);
        var myOptions = {
          zoom: 4,
          center: myLatlng,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        }
        var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    
        var marker = new google.maps.Marker({
            position: myLatlng, 
            map: map,
            title:"Hello World!"
        });   
      }
    

    在页面上的

    【讨论】:

      【解决方案2】:

      是的,您需要将数据库中的经纬度坐标传递到网页上的 Javascript 代码中,以便在地图上为它们创建标记。如果您使用 PHP 代码生成页面,这意味着编写 PHP 代码来查询数据库,然后 echo() 包含 Javascript 代码的 HTML 页面。

      zrvan 上面的回复使用new google.maps.LatLng() 创建单个坐标对象并绘制单个标记。如果您决定在单个地图上放置多个标记,我建议将标记的数据放入 Javascript 数组数据结构中。然后编写一个 Javascript 循环来为数组中的每个条目调用 new google.maps.Marker()

      Google 地图文档建议使用 XML 文档和 AJAX 调用将标记数据从数据库传送到网页。见http://code.google.com/apis/maps/articles/phpsqlajax.html

      如果您在一张地图上获得了超过几百个标记,您可能需要阅读 Google Maps API 文档中的论文“Too Many Markers!”: http://code.google.com/apis/maps/articles/toomanymarkers.html

      【讨论】:

        猜你喜欢
        • 2020-11-25
        • 2018-01-28
        • 1970-01-01
        • 2012-01-09
        • 2015-01-24
        • 1970-01-01
        • 2014-06-01
        • 1970-01-01
        • 2020-06-02
        相关资源
        最近更新 更多