File
我不知道为什么单击标记时没有放大。 或者我可以使用任何其他功能来实现这一点,因为除了这个问题,每个事情都适合这个代码
答案 0 :(得分:0)
您提供的代码不完整。所以我只能猜测。
我认为关键问题是何时添加监听器:
marker[i].addListener('click',function(){
map.setZoom(15);
})
我猜你运行zoom()
的时机不对。您应该在创建标记时(或在某人点击这些标记之前)添加侦听器。
如果您使用addMarkerWithTimeout()
添加每个标记,我建议删除函数zoom()
。并在addMarkerWithTimeout()
中添加听众:
var neighborhoods = [{lat: 29.988097, lng: 31.442075},];
var marker = [];
var map;
function myMap() {
map = new google.maps.Map(document.getElementById('googleMap'), {
zoom: 13,
center: {lat: 30.024710, lng: 31.446871}
});
}
function drop() {
clearMarker();
for (var i = 0; i < neighborhoods.length; i++) {
addMarkerWithTimeout(neighborhoods[i], i * 200);
}
}
function addMarkerWithTimeout(position) {
var singleMarker = new google.maps.Marker({
position: position,
map: map,
animation: google.maps.Animation.DROP
});
singleMarker.addListener('click',function(){
map.setZoom(15);
})
marker.push(singleMarker);
};
function clearMarker() {
for (var i = 0; i < marker.length; i++) {
marker[i].setMap(null);
}
marker = [];
};