【问题标题】:How can I prevent google maps from refreshing while setting the marker to a new position?如何在将标记设置为新位置时防止谷歌地图刷新?
【发布时间】:2014-08-28 19:06:54
【问题描述】:

我正在使用来自服务器的新位置不断更新我的谷歌地图上的标记。这些位置存储在名为LongitudeLatitude 的变量中。我设法让标记移动到新位置,但地图不断刷新。我能做些什么来阻止这种情况发生?我只希望标记移动。

google.maps.visualRefresh = true;   

//in my actual code the coordinates aren't var lat and lon

var myLatlng = new google.maps.LatLng(lat,lon); 
var mapOptions = {
    zoom: 15,
    center: myLatlng,
    mapTypeControl: true,
    mapTypeControlOptions: {
        style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR,
        position: google.maps.ControlPosition.BOTTOM_CENTER
    },
    panControl: true,
    panControlOptions: {
        position: google.maps.ControlPosition.TOP_RIGHT
    },
    zoomControl: true,
    zoomControlOptions: {
        style: google.maps.ZoomControlStyle.LARGE,
        position: google.maps.ControlPosition.LEFT_CENTER
    },
    scaleControl: true,
    streetViewControl: true,
    streetViewControlOptions: {
        position: google.maps.ControlPosition.LEFT_TOP
    }
}

var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
google.maps.event.trigger(map, 'resize');
var marker = new google.maps.Marker({
  position: myLatlng,
  map: map,
  title: 'Hello World!'
});


var latlng = new google.maps.LatLng(Latitude,Longitude);
marker.setPosition(latlng);
//map.setCenter(latlng);
//covertlisten.remove();
});
}

google.maps.event.addDomListener(window, 'load', initialize);

【问题讨论】:

  • 这是设置代码还是您用来更新标记的代码?
  • 更新标记的代码
  • 看看this question.是不是和你想做的一样?

标签: javascript


【解决方案1】:

摆脱 map.setCenter(latlng);

【讨论】:

  • 这并没有真正起作用。我更新了上面的整个代码。
  • 地图刷新到哪里?
  • 你所说的“那没有用”是什么意思?是否仍然令人耳目一新?它在做别的事情吗?有什么改变吗?请你说得更清楚。
  • 抱歉,我的意思是我认为我无法让它完全停止刷新。似乎某种令人耳目一新的感觉可能正在发生,但它并不像以前那么糟糕。另外,现在我根本跟不上标记。
  • 刷新的具体细节是什么?地图是否重新加载,标记是否设置了两次?跟不上标记是什么意思?
猜你喜欢
  • 2019-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-28
  • 1970-01-01
  • 2015-10-18
  • 1970-01-01
  • 2018-06-06
相关资源
最近更新 更多