我正在尝试在Google Maps API v3中显示一个叠加层,使其显示在所有标记上方。但似乎Google API始终将我的叠加层的Z-index优先级设置为最低。我发现的唯一解决方案是遍历DOM树并手动将z-index设置为更高的值。解决方案差。
我将添加一个新的div到我的叠加层:
onclick : function (e) {
var index = $(e.target).index(),
lngLatXYposition = $.view.overlay.getProjection().fromLatLngToDivPixel(this.getPosition());
icon = this.getIcon(),
x = lngLatXYposition.x - icon.anchor.x,
y = lngLatXYposition.y - icon.anchor.y
$('<div>test</div>').css({ left: x, position: 'absolute', top: y + 'px', zIndex: 1000 }).appendTo('.overlay');
}
在创建叠加层时,我尝试了所有我想到的属性。 zIndex,zPriority等。
我要添加我的叠加层:
$.view.overlay = new GmapOverlay( { map: view.map.gmap });
并且GmapOverlay继承自新的google.maps.OverlayView。
有任何想法吗?
..弗雷德里克
最佳答案
您无法更改OverlayView的zIndex(它没有这种属性),但是它包含包含DOM节点的 Pane 。您可以在此处使用z-index属性;
...
lngLatXYposition = $.view.overlay.getPanes().overlayLayer.style['zIndex'] = 1001;
...
关于javascript - 谷歌 map 版本3中的z-Index覆盖,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2682626/