在Google Maps API中使用print(" " + str(i))
方法完成所有功能的绘制后是否会触发事件?
我读到你可以监听地图的“空闲”状态,但是当负载完成时,但在绘制特征之前,似乎地图被认为是空闲的。 看下面的小提琴: https://jsfiddle.net/z3tu0epb/
loadGeoJson()
我也知道在将任何功能添加到地图时会被触发的var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
zoom: 12,
center: new google.maps.LatLng(40.755690, -73.975938)
});
// Load GeoJSON.
map.data.loadGeoJson(
'https://services5.arcgis.com/GfwWNkhOj9bNBqoJ/arcgis/rest/services/nybb/FeatureServer/0/query?where=1=1&outFields=*&geometryPrecision=8&outSR=4326&f=geojson');
google.maps.event.addListenerOnce(map, 'idle', function() {
alert("map is idle");
});
}
侦听器,但我需要在将所有功能添加到地图后运行addFeature()
。
谢谢,
答案 0 :(得分:1)
我担心没有可行的方法来捕获“绘制所有功能”事件后的数据层。如果数据层暴露了内部使用的Drawing Manager实例,则可能是这样。在这种情况下,您可以收听overlaycomplete
事件
https://developers.google.com/maps/documentation/javascript/reference#OverlayCompleteEvent
但是数据层不会公开公开其Drawing Manager实例,因此您无法添加侦听器。
https://developers.google.com/maps/documentation/javascript/reference#Data
您可以做的独特之处在于弄清楚所有功能何时被加载(添加到集合中)。在这种情况下,您可以使用loadGeoJson(url:string, options?:Data.GeoJsonOptions, callback?:function(Array<Data.Feature>))
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
zoom: 12,
center: new google.maps.LatLng(40.755690, -73.975938)
});
// Load GeoJSON.
map.data.loadGeoJson(
'https://services5.arcgis.com/GfwWNkhOj9bNBqoJ/arcgis/rest/services/nybb/FeatureServer/0/query?where=1=1&outFields=*&geometryPrecision=8&outSR=4326&f=geojson',
{},
function(features) {
alert("Loaded " + features.length + " features");
});
google.maps.event.addListenerOnce(map, 'idle', function() {
alert("map is idle");
});
}
#map {
height: 100%;
}
/* Optional: Makes the sample page fill the window. */
html,
body {
height: 100%;
margin: 0;
padding: 0;
}
<div id="map"></div>
<!-- Replace the value of the key parameter with your own API key. -->
<script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDztlrk_3CnzGHo7CFvLFqE_2bUKEq1JEU&callback=initMap">
</script>
另外,请随意在Google issue tracker
中提交此类事件的功能请求