嗨,大家好错了 - 当我尝试通过点击并拖动此页面上的地图来平移时。更新指针的函数被调用,但问题是我无法从鼠标中释放地图 - 就像它粘在它上面一样。
http://demo.fltdata.com/airport/antonio-b-won-pat-international-airport/5433
处理平移的代码只是:
mapp.prototype.initialise = function(){
this.map = new google.maps.Map(this.id, this.options);
xmap = this.map;
tm = this;
//this.update();
if( this.updateUrl != '' ){
google.maps.event.addListener(xmap, 'zoom_changed', function(event){
tm.update();
});
google.maps.event.addListener(xmap, 'bounds_changed', function(event){
tm.update();
});
google.maps.event.addListenerOnce(xmap, 'tilesloaded', function(){
tm.update();
});
}
}
其中update是根据地图边界检索指针的函数。
答案 0 :(得分:0)
我不是一个大的谷歌地图开发者,但你可能会尝试只在Idle事件被触发后进行更新。
您捕获zoom_changed,bounds_changed或tiles_loaded这一事实,然后等待空闲以实际执行更新。下面是我用来更新页面上标记的代码。
var boundsChanged = false;
function setupBoundsListener(map) {
google.maps.event.addListener(map, "bounds_changed", function() {
boundsChanged = true;
});
}
function setupIdleListener(map) {
google.maps.event.addListener(map, "idle", function() {
if ( boundsChanged ) {
clearMarkers( map );
populateMarkers( map );
resetBoundsChanged();
}
});
}