为了在我的地图中创建多边形,我使用jQuery.getJSON()
加载包含多边形和多多边形的 geojson 文件。然后我使用 github 插件 (loadgeojson) 分析 geojson,最后在地图上创建多边形。
我放了一个加载 gif,它覆盖了在被调用<div>
之前出现的地图。jQuery.getJSON()
问题是删除它的时机。当所有多边形可见属性设置为True时,我使加载动画消失。
<div>
当多边形出现在地图上时,我希望to 消失。但就目前而言,它在此之前消失了一点。<div>
因此,在较慢的浏览器上,消失和出现多边形之间存在相对较大的延迟。
我试图在一个事件上放置一个监听器,但我找不到与我想要的事件相对应的事件。
当多边形出现在我的地图上时,如何及时删除加载动画?
这是我的代码:
function readJSON(id){
showLoadingAnimation();
// If .json hasn't been read
if(stockArray[id].length == 0) {
$.getJSON(id + ".json", function(data){
showFeature(data, id)
})
}
}
function showFeature(geojson, elemtype){
currentFeature_or_Features = new GeoJSON(geojson, elemtype, options);
if (currentFeature_or_Features.type && currentFeature_or_Features.type == "Error"){
return;
}
// Display object
if (currentFeature_or_Features.length){
for (var i = 0; i < currentFeature_or_Features.length; i++){
if(currentFeature_or_Features[i].length){
for(var j = 0; j < currentFeature_or_Features[i].length; j++){
// Display multipolygon
currentFeature_or_Features[i][j].setMap(map);
// Mouse events for multipolygons
mouseEventsMulti(i,j,elemtype);
}
}
else{
// Display polygons, polylines and points
currentFeature_or_Features[i].setMap(map);
// Mouse events for polygons, polylines and points
mouseEventsSimple(i,elemtype)
}
}
} else {
currentFeature_or_Features.setMap(map)
}
// Stop loading animation
dontShowLoadingAnimation();
}