Javascript 一旦一个标记掉下,如何潘托一个标记(谷歌地图API)?
我想放大每一个标记载入一旦一个标记下降到谷歌地图 我尝试在drop函数和addMarkerWithTimeout函数中使用panTo和setZoom方法,但似乎不起作用。我花了几个小时试图解决这个问题。有人有什么想法吗Javascript 一旦一个标记掉下,如何潘托一个标记(谷歌地图API)?,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我想放大每一个标记载入一旦一个标记下降到谷歌地图 我尝试在drop函数和addMarkerWithTimeout函数中使用panTo和setZoom方法,但似乎不起作用。我花了几个小时试图解决这个问题。有人有什么想法吗 var neighbors = [ {lat: 41.081445, lng: -81.519005}, {lat: 42.652579, lng: -73.756232}, {lat: 61.218056, lng: -149.900278},
var neighbors = [
{lat: 41.081445, lng: -81.519005},
{lat: 42.652579, lng: -73.756232},
{lat: 61.218056, lng: -149.900278},
{lat: 32.735687, lng: -97.108066},
];
var markers = [];
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('googlemapsbackground'), {
zoom: 4,
center: {lat: 39.8282, lng: -98.5795}
});
}
window.onload = function drop() {
clearMarkers();
for (var j = 0; j < neighbors.length; j++) {
addMarkerWithTimeout(neighbors[j], j * 1000);
}
}
function addMarkerWithTimeout(position, timeout) {
window.setTimeout(function() {
markers.push(new google.maps.Marker({
position: position,
map: map,
animation: google.maps.Animation.DROP
}));
}, timeout);
}
function clearMarkers() {
for (var j = 0; j < markers.length; j++) {
markers[j].setMap(null);
}
markers = [];
}
var邻居=[
{lat:41.081445,lng:-81.519005},
{lat:42.652579,lng:-73.756232},
{lat:61.218056,lng:-149.900278},
{lat:32.735687,lng:-97.108066},
];
var标记=[];
var映射;
函数initMap(){
map=new google.maps.map(document.getElementById('googlemapsbackground'){
缩放:4,
中心:{lat:39.8282,lng:-98.5795}
});
}
window.onload=函数drop(){
clearMarkers();
对于(var j=0;j<0.length;j++){
addMarkerWithTimeout(邻居[j],j*1000);
}
}
函数addMarkerWithTimeout(位置,超时){
setTimeout(函数(){
markers.push(新的google.maps.Marker)({
职位:职位,,
地图:地图,
动画:google.maps.animation.DROP
}));
},超时);
}
函数clearMarkers(){
对于(var j=0;j
您可以尝试使用LatLngBounds对象
function addMarkerWithTimeout(position, timeout) {
window.setTimeout(function() {
var bounds = new google.maps.LatLngBounds(),
marker = new google.maps.Marker({
position: position,
map: map,
animation: google.maps.Animation.DROP
});
bounds.extend(marker.getPosition());
markers.push(marker);
map.fitBounds(bounds);
}, timeout);
}
尝试添加map.panTo(位置)
一旦您在setTimeout
函数中添加了一个新标记,我就尝试使用map.panTo(位置);但它似乎不起作用。谢谢你的帮助!