我正在制作一个通过JSON中的REST API加载一些区域亮点的地图。这个JSON非常大,所以我想在地图上加载一个加载屏幕,直到API调用返回。我试过了:Google Maps API - 用于API/JSON加载的事件侦听器?
document.getElementById('spinner').style.visibility = "visible";
map.data.loadGeoJson(mapurl);
document.getElementById('spinner').style.visibility = "hidden";
但是显然加载是异步发生的,所以这没有实现。
二审:
document.getElementById('spinner').style.visibility = "visible";
map.data.loadGeoJson(mapurl);
google.maps.event.addListener(map, 'idle', function(){
document.getElementById('spinner').style.visibility = "hidden";
})
这是好多了,现在我有一个载入画面,然而,idle
获取地图加载后立即调用,而不是JSON。有没有一种方法可以侦听JSON文件被完全加载/ API调用返回的事件?
'loadGeoJson'接受一个可选的回调将被解雇一旦所有的功能都装载,即'map.data.loadGeoJson(mapurl,回调) '。所以,把你的回调放在那里。 –