【问题标题】:Google Map API: How to display map marker with array from PHP?Google Map API:如何使用 PHP 中的数组显示地图标记?
【发布时间】:2023-03-11 06:22:01
【问题描述】:

我正在尝试使用PHP 中的数组作为javascript 中的var locations。这是我的数组:

Array (
      [0] => Array (
          [0] => 001
          [1] => A
          [2] => 98
          [3] => -8.0092722
          [4] => 110.2965559
      )
      [1] => Array (
          [0] => 003
          [1] => C
          [2] => 90
          [3] => -7.9021438
          [4] => 110.3735387
      )
)

我正在尝试使用json_encode 传递该数组,如下所示:

var markers = <?php json_encode($setarray); ?>

最后一个,这是我创建标记的代码:

var infowindow = new google.maps.InfoWindow(), marker, i;
var bounds = new google.maps.LatLngBounds();

for (i = 0; i < markers.length; i++) {  
   pos = new google.maps.LatLng(markers[i][3], markers[i][4]);
   bounds.extend(pos);
   marker = new google.maps.Marker({
       position: pos,
       map: map
   });
   google.maps.event.addListener(marker, 'click', (function(marker, i) {
       return function() {
           infowindow.setContent(markers[i][0]);
           infowindow.open(map, marker);
       }
  })(marker, i));
  map.fitBounds(bounds);
  }
 }
 google.maps.event.addDomListener(window, 'load', initialize);

我很确定我的问题是当我尝试将数组传递给 javascript 时,你能帮帮我吗?实际上这是我第一次使用 javascript,我对它还不是很熟悉。谢谢。

【问题讨论】:

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


    【解决方案1】:

    如果你在 javascript 中传递一个 php 变量,你必须回显变量 var jsonMarkers = &lt;?php echo json_encode($setarray); ?&gt;

    还要将其转换为所需的 JSON 对象,您必须这样做

    var markers = JSON.parse(jsonMarkers);
    

    然后你就可以这样使用了

    markers[i][j];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-05
      • 2012-05-30
      • 2012-08-02
      • 2018-04-17
      • 2016-08-11
      • 2016-02-27
      • 2016-02-05
      相关资源
      最近更新 更多