我正在尝试在 Google 地图上放置多个可点击标记,但在寻找方法时遇到了问题。网上的代码示例都是指保存数据的数组,但我要做的就是让地图放大到被点击的那个。
位置数据由 wordpress 在 while 循环中填充,以便帖子可以自动将新位置添加到全局地图。
很简单,但是对于我的代码,它只适用于最后一个。难道我做错了什么?
<script type="text/javascript">
function initialize() {
google.maps.visualRefresh = true;
var mapOptions = {
zoom: 4,
center: new google.maps.LatLng(37.09024,-95.712891),
disableDefaultUI: true,
};
var posts = locationLat.length;
var j = 0;
var map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
var place = new Array();
while (posts != j)
{
var image = '<?php echo get_template_directory_uri(); ?>/location_marker.png';
var myLatLng = new google.maps.LatLng(locationLat[j],locationLong[j]);
place[j] = new google.maps.Marker({
position: myLatLng,
map: map,
icon: image
});
google.maps.event.addListener(place[j], 'click', function() {
map.setZoom(8);
map.setCenter(myLatLng);
$('.sidebar').stop().animate({
'width' : '400px',
'opacity' : '1'
}, 500);
});
j++;
}
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
真的不确定,因为所有其他在线示例并没有真正做到这一点。任何帮助表示赞赏。