1

Web アプリで Google Maps API V2 の統合を改善しています。Google マップがすべての読み込みを完了したことをメイン ページに知らせて、マーカーを設定できるようにしたいと考えています。

load() イベントがあることに気付きましたが、決して起動できないようです。

これが私が使用しているコードです

    if( GBrowserIsCompatible() ) {

        map = new GMap2(container);

        map.setCenter(new GLatLng(INITIAL_LATITUDE,INITIAL_LONGITUDE), INITIAL_ZOOM);

        GEvent.addListener(map, "load", pluginLoaded );
    }

...

function pluginLoaded() {
    alert( "pluginLoaded" );
}
4

1 に答える 1

5

loadを呼び出した直後にイベントがトリガーされ、そのsetCenter()時点ではイベントリスナーがまだアタッチされていないため、イベントは発生していません。次の例で、イベントがトリガーされていることを確認できます。

if (GBrowserIsCompatible()) {
   var map = new GMap2(document.getElementById("map"));
   GEvent.addListener(map, "load", function() {
      alert("Map Loaded");
   });
   map.setCenter(new GLatLng(37.4419, -122.1419), 13);
}

loadマップへのマーカーの追加を開始するためにイベントをリッスンする必要はないことに注意してください。

于 2010-09-10T03:15:25.653 に答える