使用解决方法来设置zIndex KmlLayer

时间:2013-12-31 14:10:09

标签: javascript google-maps google-maps-api-3 z-index settimeout

我一直在寻找一个直接解决我几天后遇到的问题的方法。

例如,您需要在地图上按特定顺序添加多个kml图层,然后您需要zIndex。

但是使用Google Maps API V3,你没有这样的东西。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

Google Maps Javascript API v3 KmlLayerOptions现在包含zIndex

来自the (latest) documentation

  

zIndex |输入:数字

     

图层的z-index。

(或者您可以使用setZIndex方法)

请参阅此相关问题中的示例:KML ordering in Google Maps API

proof of concept fiddle

答案 1 :(得分:0)

保证Kml图层顺序的唯一方法是在添加下一图层之前等待先前的图层绘制。您可以通过metadata_changed事件来了解图层的绘制时间。

z-index选项是一项备受欢迎的功能:https://code.google.com/p/gmaps-api-issues/issues/detail?id=2804

答案 2 :(得分:0)

你可以做两件事。

首先解决方法是添加侦听器: 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);

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

如果你认为这个帖子有用,请告诉我, 侨!