【发布时间】:2015-03-31 14:40:32
【问题描述】:
我正在使用 Google Maps API 在地图上显示我的多边形数据。数据以geoJson格式存在,文件大小为2Mb。这就是我向图层添加数据的方式
var parcelLayer = new google.maps.Data();
parcelLayer.addGeoJson(geoJsonObject);
一切正常。
但我面临的问题是;数据文件大小足够大,即大约 2Mb,在地图上渲染需要 5-10 秒,所以我需要在地图上渲染数据时添加一个加载器。
我无法找到在地图数据完成渲染后触发的此类事件或在这种情况下可能有用的任何技巧。我在谷歌上搜索了很多,也检查了这个网站的相关链接,但没有运气
已编辑
我已经尝试过如下addfeature 事件
count=0;
parcelLayer.addListener('addfeature', function() {
count+=1;
if (count==geoJsonObject.features.length){
console.log('all rendered');
}
});
但是console 在图层完成渲染之前就响应了。
【问题讨论】:
-
你试过addfeature事件吗?您可能需要对 GeoJSON 中的功能进行计数才能知道添加最后一个功能的时间。
-
是的,我已经尝试过 addfeature 事件。但是 addfeature 对所有功能的响应都出现了,并且该图层尚未渲染。在问题中添加了示例