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