【问题标题】:Google Maps Multi Marker not working谷歌地图多标记不工作
【发布时间】:2016-06-20 15:16:08
【问题描述】:

我想在地图上显示多个标记,但它只有一个。当我检查控制台时,可以看到所有 lat 和 long 值。但只有一个标记。

此代码是我的 php 代码。

    $query="SELECT lat, lng, FROM mytable limit 5 offset $offset";
    $result = pg_exec($dbconn, $query);
    $response = pg_fetch_all($result);
    $data=json_encode($response, JSON_NUMERIC_CHECK | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT);
    $data1 = json_decode($data, true);

这段代码是我的js代码和php代码。

    function initMap() {
      <?php for($i=0; $i<5; $i++){ ?>
    var myLatLng = {lat:<?=$data1[$i]['lat']?>, lng:<?=$data1[$i]['lng']?>};
    var map = new google.maps.Map(document.getElementById('map'), {
      zoom: 19,
      center: myLatLng
    });
    var marker = new google.maps.Marker({
      position: myLatLng,
      map: map,
      title: 'Hello World!'
    });
      <?php } ?>
  }   

【问题讨论】:

    标签: javascript php google-maps google-maps-api-3


    【解决方案1】:

    我认为这是因为你覆盖了你的地图,把你的地图 init 放在循环之外。

    function initMap() {
       var center = {lat: -34.397, lng: 150.644};
       var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 19,
          center: center
      });
    
      <?php for($i=0; $i<5; $i++){ ?>
            var myLatLng = {lat:<?=$data1[$i]['lat']?>, lng:<?=$data1[$i]['lng']?>};
    
            var marker = new google.maps.Marker({
                position: myLatLng,
                map: map,
                title: 'Hello World!'
            });
      <?php } ?>
    } 
    

    【讨论】:

      猜你喜欢
      • 2013-12-13
      • 2014-04-27
      • 2014-02-12
      • 2017-09-11
      • 2015-06-02
      • 2012-01-02
      • 1970-01-01
      • 2023-03-21
      相关资源
      最近更新 更多