1
我正在使用google maps api v3创建一个图层,并在用户请求后加载一些图层。该层使用GeoJSON格式导出下面Fininshed渲染图层事件
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个多边形大致与简单的几何形状(几乎全部都是矩形形状)的代码加载,大约需要5秒至在完全呈现地图。我想在渲染图层时使用加载器指示器,因此我使用两种功能
ajaxindicatorstart('loading data.. please wait..');
ajaxindicatorstop();
启动和停止指示器。问题是我无法检测渲染何时完成。我曾尝试
proplayer.addListener('metadata_changed', function() {ajaxindicatorstop();});
和
google.maps.event.addListener(map, 'idle', function() {
ajaxindicatorstop();
});
其他用户建议,但没有奏效。这实际上可能吗?有没有其他方法可以绕过这个问题?
预先感谢您
我刚刚添加了proplayer.addListener('addfeature',function(){ajaxindicatorstop();}); getgeojson函数中的\t并且像魅力一样工作。我会进一步调查你提出的解决方案,但现在一切似乎都正常。非常感谢你。 – geoandri 2014-11-23 11:23:20