如何获取Google Maps标记的HTML DOM元素?

Ais*_*ina 5 javascript dom google-maps

给定一个GMarker JS变量,我如何获得代表它的HTML DOM元素?我需要这个,所以我可以<div>用正确的z-index 将我自己的一个插入到地图中.

谢谢.

Sub*_*ied 11

很抱歉发布这么老的问题,但我自己也遇到过这个问题.我在Google Maps APIv3中使用的解决方案是从Google Maps示例中复制"自定义标记",并添加一个简单的方法getDOMElement,该方法返回divMarker构造中生成的内容.

CustomMarker.prototype.getDOMElement = function() {
  return this.div_;
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用marker.getDOMElement().style动态更改标记的样式,img子元素marker.getDOMElement()是使用的图标,因此您也可以动态更改它.


Chr*_*s B 2

看起来 Google Maps API 没有提供返回标记的 DOM 元素的方法。

您只想创建自己的自定义标记吗?如果是这样,您可以创建一个扩展 GOverlay 的标记类。 MarkerLight是一个很好的例子,说明了如何实现这一点(这里是示例页面)。

如果您需要的只是自定义图标,请按以下步骤操作。