Google Maps API v2 load()事件未触发

时间:2010-09-10 03:05:18

标签: javascript google-maps google-maps-api-2

我正在改进我们的网络应用中的Google Maps API V2集成,我希望我的主页知道Google地图何时完成加载所有内容,以便我可以设置一些标记。

我注意到有一个load() event,但我似乎永远无法解决它。

这是我正在使用的代码

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

1 个答案:

答案 0 :(得分: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事件即可开始向地图添加标记。