在多边形叠加层顶部显示自定义MapType

时间:2012-11-30 21:57:48

标签: google-maps-api-3

我一直在与Gheat合作,将自定义热图创建为ImageMapType。我还有一些颜色编码的多边形,我想在热图创建的高光下面显示。

但是,自定义ImageMapType始终在多边形下方渲染,并被它们遮挡。我该如何解决这个问题?

以下示例代码:

 var heatmap = new google.maps.ImageMapType({
        getTileUrl: function(coord, zoom) {
    ...
    });

    var mapOptions = {...};
    var map = new google.maps.Map(document.getElementById("map_canvas"),
        mapOptions);

var neighborhood1 = new google.maps.Polygon({...});
neighborhood1.setMap(map);
... lots of polys ...

    map.overlayMapTypes.insertAt(map.overlayMapTypes.length -1, heatmap);

2 个答案:

答案 0 :(得分:1)

更新2(2016年第22号):

这种破解越来越难以管理,但就目前而言,这里有更新的代码:

el.firstChild.firstChild.firstChild.firstChild.firstChild.style.zIndex = 102

更新

原始答案的代码停止工作。这个新代码对我有用:

el.firstChild.firstChild.firstChild.firstChild.style.zIndex = 102

102是让它发挥作用的最小zIndex。为了安全起见,你可以做得更高。

Orignal回答:

我不希望它必须来这个。这是我的解决方案。

el.firstChild.firstChild.firstChild.childNodes[3].style.zIndex = 300

el是地图所在的<div>

答案 1 :(得分:0)

以下是解决此客户端问题的方法:z-Index overlay in google maps version 3