Javascript HTML/JS-GoogleMapsV3-从外部链接按id选择/删除标记

Javascript HTML/JS-GoogleMapsV3-从外部链接按id选择/删除标记,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我不熟悉谷歌地图和javascript。我正在尝试使用外部链接/列表与地图交互 我的主要问题是无法选择地图上id为的标记 我不想把所有的标记放在一个列表/数组中,并对它们进行迭代,因为我不知道在任何时候会有多少标记 我只是想选择他们的id和他们的工作,如打开信息窗口,删除他们等 在我的changeIcon函数中,我尝试了一些方法,但到目前为止都没有成功 <html> .... <div id="mapview"></div> <a class="t

我不熟悉谷歌地图和javascript。我正在尝试使用外部链接/列表与地图交互

我的主要问题是无法选择地图上id为的标记

我不想把所有的标记放在一个列表/数组中,并对它们进行迭代,因为我不知道在任何时候会有多少标记

我只是想选择他们的id和他们的工作,如打开信息窗口,删除他们等

在我的changeIcon函数中,我尝试了一些方法,但到目前为止都没有成功

<html>

....

<div id="mapview"></div>

<a class="test-link" onmouseover="changeIcon()">Link</a>

<script>

function changeIcon()
    {
        //marker = map.selectMarker("4");
        //marker = markers[4];
        //infowindow.open(map,marker);

        //$("#mapview").map.removeMarker(4);
    }

var map = new google.maps.Map(document.getElementById('mapview'), 
        {
            center: {lat: 44.540, lng: -78.546},
            zoom: 16
        });

function initMap() 
{
  var marker = new google.maps.Marker({
          position: userPosition,
          map: map,
          id: 4
        });
}

</script>

</html>

没有API从map中获取标记。裁判:

我认为您不想使用数组,因为id永远不会与索引匹配。所以我建议使用字典:

var markers = {};  // "{}" to specify dictionary instead of "[]" to specify array
markers[4] = marker;   // 4 is the id
创建标记时,将其添加到字典:

var markers = {};  // "{}" to specify dictionary instead of "[]" to specify array
markers[4] = marker;   // 4 is the id
当您想要获得它时:

var currentMarker = markers[4];