设置zIndex KmlLayer的工作解决方法


几天

以来,我一直在寻找解决问题的直接解决方案。

例如,您需要在地图上按特定顺序添加多个 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);

我使用了第二种解决方法。

如果您认为此线程有帮助,请告诉我,再见!

最新更新