我正在使用谷歌地图api v3创建一个地图,其中包含几个在用户'之后加载的图层。请求。使用Geojson格式加载图层,代码如下
function getgeojson(json)
{
proplayer = new google.maps.Data();
proplayer.loadGeoJson('../public/geoprop/index');
proplayer.setStyle({
fillColor: 'red',
strokeColor: 'red',
fillOpacity: 0.3,
strokeWeight: 1
});
proplayer.setMap(map);
proplayer.addListener('mouseover', function(event) {
infoWindow.setContent(event.feature.getProperty('kta'));
infoWindow.setPosition(event.latLng);
infoWindow.open(map);
});
}
这些图层由3.5 K多边形组成,大致具有简单的几何形状(几乎所有这些都是矩形),并且在地图中完全渲染需要大约5秒。我想在渲染图层时使用加载器指示器,因此我使用了两个函数
ajaxindicatorstart('loading data.. please wait..');
ajaxindicatorstop();
启动和停止指标。问题是我无法检测渲染何时完成。我试过了
proplayer.addListener( 'metadata_changed', function () {ajaxindicatorstop();});
和
google.maps.event.addListener(map, 'idle', function() {
ajaxindicatorstop();
});
其他用户建议,但它没有工作。这有可能吗?有没有其他方法可以绕过这个问题?
提前谢谢
答案 0 :(得分:1)
可能的方法可能是:
loadGeoJson
addfeature
- 图层事件(最后的详细信息)addGeoJson
在addfeature
- 处理程序中,当0
添加了所有要素时,您可以减少存储的要素数量(步骤2)。