我正在尝试将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
});

09-13 00:28