javascript - 如何获取 Google map 标记的 HTML?

标签 javascript google-maps google-maps-api-3 google-maps-markers

如何从 Google map 标记 (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 是我的标记...

最佳答案

您可以为每个标记的标题属性分配一个唯一 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 的方式可能会破坏上述所有内容。

关于javascript - 如何获取 Google map 标记的 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3372032/

相关文章:

javascript - 为什么 jquery 验证不起作用?

google-maps - Xamarin.Forms map 图钉

google-maps - 谷歌地图 : Find all zip codes along route

javascript - JSLint 超出范围

javascript - 防止代码在 forEach 之后执行

ios - 谷歌地图 ios : Mapview Route vertical polyline always points to north or top of location arrow

php - 如何将 Google map "Embed map"链接转换为 "Share link"

java - 我如何在 google map api v3 中获取地点标记?

javascript - 谷歌地图 API v3 : Is there a callback or event listener after zoom changed?

javascript - 使用 MailApp.sendEmail 时发生服务器错误