2012-02-23 9 views
0

こんにちは、みんなここで間違っています - このページで地図をクリックしてドラッグするとパンをしようとします。ポインタを更新する関数が呼び出されますが、マウスからマップを解放できないという問題があります。Googleマップでパンニングしているときにマップを解放できません

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(); 
    }); 
    } 
} 

答えて

0

私は大きなGoogleマップdeveloeprではありませんが、アイドルイベントが発生した後にのみ更新を試みることがあります。

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(); 
     } 
    }); 
} 
関連する問題