Google地图上是否有GeoJSON加载事件?

时间:2014-11-03 16:43:09

标签: javascript google-maps geojson

我目前在地图上使用GeoJSON加载国家/地区边界和信息,以及一些应该附加到这些国家/地区的内部数据。数据通过以下代码加载到两个数据层中:

Data[MapType] = new google.maps.Data();
Data[MapType].loadGeoJson(jsonPath, {idPropertyName:geoJSONID});
Data[MapType].setStyle(dataStyle);
Data[MapType].setMap(Map);

工作正常,数据正在加载,鼠标悬停事件处理程序响应良好。但是我想在geoJSON文件加载和显示完成后隐藏加载器覆盖,但到目前为止我还没有找到一种方法来听这种事件。

我在another stackoverflow thread上看到KML关于收听metadata_changed事件的内容,但它并没有在地图上触发任何内容。 API参考也没有多大帮助。

您是否知道如何知道geoJSON数据何时完成加载和显示?

非常感谢。

2 个答案:

答案 0 :(得分:2)

地图对象有一个idle状态,应该可以像以下一样访问它:

google.maps.event.addListenerOnce(map, 'idle', function() {
    console.log('loaded');
});  

答案 1 :(得分:0)

This question扩展了datafunk的答案,并采用了一种解决方法来利用空闲状态。 (会添加评论但链接)