以来,我一直在寻找解决问题的直接解决方案。
例如,您需要在地图上按特定顺序添加多个 kml 图层,然后需要 zIndex。
但是使用Google Maps API V3,您就没有这样的东西了。
知道吗?
Google Maps Javascript API v3 KmlLayerOptions 现在包含 zIndex
.
从(最新)文档中:
z索引 |类型:数字
图层的 z 索引。
(或者您可以使用 setZIndex 方法)
请参阅此相关问题中的示例:Google Maps API 中的 KML 排序
概念验证小提琴
保证 Kml 图层顺序的唯一方法是等待前一个图层绘制,然后再添加下一个图层。您侦听 metadata_changed
事件以了解图层的绘制时间。
z 索引选项是一项非常需要的功能:https://code.google.com/p/gmaps-api-issues/issues/detail?id=2804
所以你可以做两件事。
第一种解决方法是添加侦听器:https://gist.github.com/jkeefe/1170104
第二种解决方法是设置调用之间的超时。
在地图上加载图层不会花费很长时间。
事实上,不需要超过 10 毫秒。
只需在 setTimeout 的回调函数中添加 setTimeout。
例:
layers.setMap(map);
setTimeout(function(){
layers2.setMap(map);
setTimeout(function(){
layers3.setMap(map);
setTimeout(function(){
layers4.setMap(map);
setTimeout(function(){
layers5.setMap(map);
},400);
},100);
},100);
},100);
我使用了第二种解决方法。
如果您认为此线程有帮助,请告诉我,再见!