我正在尝试将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,我对它并不熟悉。谢谢。
答案 0 :(得分:0)
如果你在javascript中传递一个php变量,你必须回显变量var jsonMarkers = <?php echo json_encode($setarray); ?>
另外,要将其转换为所需的JSON对象,您必须执行此操作
var markers = JSON.parse(jsonMarkers);
然后你可以像这样使用
markers[i][j];