如何获取Google地图标记的HTML?

AHO*_*HOY 2 javascript google-maps google-maps-api-3 google-maps-markers

如何从Google地图标记(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>
Run Code Online (Sandbox Code Playgroud)

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

ple*_*xer 5

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

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

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

请注意,API对标记添加到DOM的方式的更改可能会破坏以上所有内容.