Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 一旦一个标记掉下,如何潘托一个标记(谷歌地图API)?_Javascript_Google Maps_Google Maps Api 3 - Fatal编程技术网

Javascript 一旦一个标记掉下,如何潘托一个标记(谷歌地图API)?

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},

我想放大每一个标记载入一旦一个标记下降到谷歌地图

我尝试在drop函数和addMarkerWithTimeout函数中使用panTo和setZoom方法,但似乎不起作用。我花了几个小时试图解决这个问题。有人有什么想法吗

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(位置);但它似乎不起作用。谢谢你的帮助!