如何从Google Maps Marker(v3)获取HTML元素?

<div style="overflow-x: hidden; overflow-y: hidden; position: absolute; background-image: url(...); top: 62px; width: 70px; height: 70px; background-size:  ; left: 924px; z-index: 97; opacity: 0,01; cursor: pointer; background-position: 0px -420px; background-repeat: no-repeat no-repeat; " title=""></div>

这是所有标记map.getPanes().overlayImage;,但我不知道哪个 child 是我的标记...

最佳答案

您可以为每个标记的title属性分配一个唯一的ID,然后搜索所有标记,直到找到具有该ID的标记

for (var marker in map.getPanes().overlayImage.getElementsByTagName("div")) {
  if (marker.title == "some_id") return marker;
}

作为最后的选择,您还可以使用服务器端脚本为每个图像生成唯一的ID客户端。无论文件名(即mysite.com/marker/De4gy.png)如何,您的服务器都会返回相同的图像(标记图标)。然后,您可以搜寻DOM,以查找在其样式属性中包含该URL的DIV。请注意,这可能会损害性能,因为标记将不再可缓存。

请注意,通过API更改将标记添加到DOM的方式的更改可能会破坏所有上述情况。

10-05 20:52
查看更多