首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Geoxml3 groundOverlay zIndex

Geoxml3 groundOverlay zIndex
EN

Stack Overflow用户
提问于 2015-06-17 22:41:32
回答 2查看 1.1K关注 0票数 0

有办法改变zIndex的groundOverlay吗?

使用Geoxml3,我正在解析两个KML文件,其中一个包含多边形,另一个包含groundOverlay。所有事情都会变得完美,除了我想要我的groundOverlay超过多边形,因为现在groundOverlay出现在多边形后面。

更新:这是我的代码

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Geoxml3</title>
<style>
    html{height:100%;}
    body{height:100%;margin:0px;}
    #map_canvas{height: 90%;width: 90%;}
</style>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="http://geoxml3.googlecode.com/svn/branches/polys/geoxml3.js"></script>
<script type="text/javascript" src="http://geoxml3.googlecode.com/svn/trunk/ProjectedOverlay.js">
</script>
</head>
<body>
<div id="map_canvas"></div>
</div>
<script type="text/javascript">
var geoXml=null, map=null;

function initialize() {
    var myOptions = {
        center: new google.maps.LatLng(39.397, -100.644),
        zoom: 4,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    geoXml = new geoXML3.parser({
        map: map,
        zoom: true,
        createOverlay: addMyOverlay
    });

    geoXml.parse(['groundOverlay.kml','polygon.kml']);

    function addMyOverlay(placemark,doc){
        //How to change the the GroundOverlay zIndex
        var groundOverlay = geoXml.createOverlay(placemark);
        return groundOverlay;
    };
};
google.maps.event.addDomListener(window, 'load', initialize);

</script>
</body>
</html>

测试在这里:http://jorgeluisperez.260mb.net/geoxml/

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-24 21:05:11

可能最简单的方法是在加载映射后为GroundOverlay指定GroundOverlay

代码语言:javascript
复制
google.maps.event.addListenerOnce(map, 'idle', function(){
      var overlayDiv = document.getElementById(groundOverlay.id_);
      overlayDiv.style.zIndex = '999';
      console.log(overlayDiv);
});  

注意:groundOverlay应该可以从事件中访问

工作示例: 柱塞

票数 0
EN

Stack Overflow用户

发布于 2015-06-21 18:27:39

ProjectedOverlay类用于在geoxml3中呈现GroundOverlays,它将覆盖附加到overlayLayer。它与呈现多边形的窗格相同。OverlayView类不支持zIndex,而多边形支持的zIndex明确指出它只在"polys“之间很好。添加多边形和GroundOverlays的顺序可能会改变这一点,但是快速测试没有起作用。您可以修改ProjectedOverlay代码,将覆盖附加到overlayLayer上方的一个窗格中。

来自关于MapPanes的文档

此对象包含呈现覆盖的DOM元素。下面列出了底部是“Pane 0”,顶部是“Pane 4”。

属性

  • floatPane \此窗格包含信息窗口。最重要的是地图的覆盖。(第4页)。
  • mapPane _(_它可能不会接收DOM事件。(窗格0)。
  • markerLayer \此窗格包含标记。它可能不会接收DOM事件。(窗格2)。
  • overlayLayer \此窗格包含多边形、多边形、地面覆盖和平铺层覆盖。它可能不会接收DOM事件。(第1页)。
  • overlayMouseTarget \此窗格包含接收DOM事件的元素。(第3页)。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30903703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档