【问题标题】:How to identify google maps marker on the map如何识别地图上的谷歌地图标记
【发布时间】:2012-11-02 03:55:52
【问题描述】:

我有一个谷歌地图标记列表作为谷歌地图旁边的 html 链接。我有点击链接时触发的功能。将标记 ID 传递给此函数。

我的问题是 - 当我有 100 个标记时,我想以某种方式识别地图上点击的标记。某种涟漪效应会远离标记。

请告知我可能的选择,以便我可以制定适当的解决方案

示例:地图上已有 100 个标记。我的左边还有 100 个名字。每个名称对应于每个标记。当我单击名称时,我希望属于该名称的标记以某种方式“闪烁”或以其他方式在其他标记中标识自己。

【问题讨论】:

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


    【解决方案1】:

    在标记被固定在地图上之前 你需要设置一个全局标记变量

    var gb.markers = [];
    

    在创建每个标记时需要将其推入全局标记数组

    marker = new google.maps.Marker({
      // other stuff
      'id': marker.id
    });
    

    将函数分配给标记后,将其推送到全局变量中

    gb.markers.push(marker);
    

    确保当您点击标记时将获得标记 ID 并循环全局标记或制作以 id 为索引的标记数组

    【讨论】:

    • 是的,我知道了,我将标记存储在 hasmap 中。我需要做的是在其他标记中直观地识别地图上的标记。
    • 你可以试试这个 map.getBounds().contains(marker.getPosition())
    【解决方案2】:

    涟漪效果会非常复杂,可能涉及以您要突出显示的标记为中心定位'GroundOverlay' 对象。

    如果您的目标只是能够突出显示标记,则可以使用'Marker.setAnimation(animationObject)' 播放简单的动画。您或许可以使用'Animation.BOUNCE' 突出显示标记?

    【讨论】:

    • 我该怎么做?我有这个功能:function overTheFleetBox(sn){ v​​ar mar = all_markers[sn]; mar.setAnimation.BOUNCE; }
    猜你喜欢
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-19
    • 2013-10-15
    • 1970-01-01
    • 2017-12-29
    • 1970-01-01
    相关资源
    最近更新 更多