【问题标题】:How do I get the HTML of a Google maps marker?如何获取 Google 地图标记的 HTML?
【发布时间】:2011-03-23 06:29:31
【问题描述】:

如何从 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>

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • 看起来这与我在 8 月 2 日对我自己的回答的评论中所说的几乎相同,就在下面。
    • 是的,请记住,当然不支持访问 API 添加的这种 DOM 元素。
    猜你喜欢
    • 1970-01-01
    • 2013-03-27
    • 2012-03-23
    • 1970-01-01
    • 2017-08-10
    • 2016-01-13
    • 2018-09-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多