我正在尝试在包含lat&amp ;;的PHP数组中在Google地图上显示标记。很长的价值观。
目前,PHP数组看起来像这样:
Array
(
[0] => Array
(
[0] => 55.8490116, -4.222272800000042
[1] => 54.5979369, -7.274279400000069
)
[1] => Array
(
[0] => 55.8490116, -4.222272800000042
)
)
然后我将这个数组添加到PHP上的JS数组中,如下所示:
<script type="text/javascript">
var markers = <?php echo $myarray; ?>;
</script>
然后在我的JS中为地图看起来像:
var infowindow = new google.maps.InfoWindow();
var marker, i;
var bounds = new google.maps.LatLngBounds();
console.log(markers);
for (i = 0; i < markers.length; i++) {
var pos = new google.maps.LatLng(markers[1][0]);
marker = new google.maps.Marker({
position: pos,
map: map
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(markers[1][0]);
infowindow.open(map, marker);
}
})(marker, i));
}
我不知道下一步该去哪儿。我知道我的数组不会模仿Google Maps API的要求,但不确定如何更改它以适应。
由于 罗伯特
答案 0 :(得分:2)
我认为你的方法的问题在于回应数组。
我尝试修复它的方法是在JS中创建一个名为markers
的空数组,循环遍历PHP数组的所有值,然后将每个值附加到markers
。< / p>
另请注意,PHP中有数组数组,因此您需要一个嵌套循环。
如果您需要任何代码示例,请告诉我,否则就足够了。