我正在尝试将MapLabel放置在Google Maps V3中的Polygon之上。我尝试将MapLabel zIndex设置为2,将Polygon zIndex设置为1,但没有任何运气。这是不可能的,因为Polygon并没有真正遵循zIndex?
我为您创建了一个jsFiddle以便 checkout :http://jsfiddle.net/7wLWe/1/
解决方案:在maplabel.js
中进行更改:
mapPane.appendChild(canvas);
至:
floatPane.appendChild(canvas);
原因是因为
floatPane
位于所有 map 图层之上( Pane 6)http://code.google.com/apis/maps/documentation/javascript/reference.html#OverlayView
最佳答案
这可能是一个很晚的发现..但是希望有人会发现这个有用。
如果您不想使用floatPane
(John的解决方案),因为它将始终放在一切之上,并希望提供自定义的zIndex。.编辑 maplabel.js 。在 MapLabel.prototype.onAdd = function(){之前,添加以下行
if (canvas.parentNode != null) {
canvas.parentNode.style.zIndex = style.zIndex;
}
现在,您可以在创建 maplabel 时传递
zIndex
:var mapLabel = new MapLabel({
text: "abc",
position: center,
map: map,
fontSize: 8,
align: 'left',
zIndex: 15
});