在谷歌地图v3中标记在Infobubble上

时间:2014-10-14 16:55:02

标签: javascript angularjs google-maps google-maps-api-3

我正在尝试将google.maps.Marker对象放在(z-index定位)Infobubble对象

上 但是我没有成功。 基本上我正在做的是将 zIndex:n 分配给 markerOptions 对象,我将其传递给Marker构造函数,如下所示:

var markerOptions = {
    position: store.getLocation(),
    title: store.getDetails().title,
    icon: DEFAULT_MARKER,
    anchorPoint: new google.maps.Point(20,5),
    zIndex: 2
};
var marker = new google.maps.Marker(markerOptions);

我已经阅读了这个答案Google Maps v3 marker over infowindow但实际上它没有得到任何投票。有人可以告诉我更多信息吗?

非常感谢

1 个答案:

答案 0 :(得分:0)

shaunhusain评论的问题是固定窗格,其中将绘制特定元素。

您需要使用自定义叠加层是正确的,但必须使用它来绘制标记,而不是信息帧。

原因:infobubble是custom overlay的实现,它将在floatPane内绘制。要将标记放在顶部,必须将信息面绘制到窗格中,其zIndex等于或小于将绘制标记的窗格的zIndex。 但问题出现了:所有这些窗格都没有收到鼠标事件,您将无法与信息交互(选择选项卡,选择文本,单击链接,关闭信息块)进行交互。

因此,您必须使用自定义叠加层来绘制标记,并且必须将这些叠加层放入floatPane(它是具有最高zIndex的窗格)