Javascript 标记不会显示在谷歌地图上
我需要在谷歌地图上放置多个标记。问题是:我有一个纬度/经度数据数组。我需要在地图上为每个lat/lng对显示一个标记。但不会。如果我要求函数打印出坐标,而不是在地图上标记坐标,它可以正常工作。我没有收到任何错误消息,所以我被卡住了。该页面显示地图,但没有任何标记。下面是应该添加标记的函数的代码:Javascript 标记不会显示在谷歌地图上,javascript,maps,Javascript,Maps,我需要在谷歌地图上放置多个标记。问题是:我有一个纬度/经度数据数组。我需要在地图上为每个lat/lng对显示一个标记。但不会。如果我要求函数打印出坐标,而不是在地图上标记坐标,它可以正常工作。我没有收到任何错误消息,所以我被卡住了。该页面显示地图,但没有任何标记。下面是应该添加标记的函数的代码: //adds markers to the map function addMarkers(locarray) { var infowindow = new google.maps.InfoW
//adds markers to the map
function addMarkers(locarray) {
var infowindow = new google.maps.InfoWindow();
var marker, i;
for (i = 0; i < locarray.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locarray[i][0], locarray[i][1]),
map: map
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent('some words');
infowindow.open(map, marker);
}
})(marker, i));
}
}
以下是在body load上调用的初始化函数:
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = codeAddress("<?php echo $_POST['postal']; ?>");
var myOptions = {
zoom: 11,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
地理编码器和地图被声明为全局变量。codeAddress函数返回我想要将地图居中的位置的lat和lng,它已经过测试,运行良好。这不是问题所在,我将省略它以简化并避免使用PHP
下面是声明数组并调用addMarkers函数的脚本:
<script type='text/javascript'>
var locations = [
[-33.890542, 151.274856],
[-33.923036, 151.259052],
[-34.028249, 151.157507]
];
addMarkers(locations)
</script>
有人认为这有什么不对吗 onload发生在所有其他脚本被执行之后。我明白了。但是,当我从主体而不是作为onload函数调用initialize函数时,我得到一个错误,即“a为null”。从init函数调用marker adding函数。