Javascript 动态创建谷歌地图标记后如何访问它们?

Javascript 动态创建谷歌地图标记后如何访问它们?,javascript,jquery,google-maps,google-maps-api-3,Javascript,Jquery,Google Maps,Google Maps Api 3,我正在为多个点创建标记,如下所示: for (i = 0; i < locations.length; i++) { console.log("Adding marker..."); marker = new google.maps.Marker({ position: new google.maps.LatLng(locations[i][1], locations[i][2]), map: map, d

我正在为多个点创建标记,如下所示:

for (i = 0; i < locations.length; i++) {

  console.log("Adding marker...");

  marker = new google.maps.Marker({
            position: new google.maps.LatLng(locations[i][1], locations[i][2]),
            map: map,
            draggable:true,
            icon: locations[i][3]
  });

  google.maps.event.addListener(marker, 'dragend', function(){

      console.log(marker.getPosition());
      // This doesn't work :(
  });

}
for(i=0;i
然后,我想(使用
getPosition
)在移动每个标记时访问它们的位置(横向和纵向)。我将如何实现这一点?地图上很可能总是有两个标记,因此我需要访问标记
0
和标记
1
,并在移动它们时记录它们

更新1:


我尝试将
id:locations[I][0]
添加到标记中,然后使用:
console.log(marker.id);
访问它,但即使第一个标记被移动,也会始终返回第二个标记的id/名称。

在单击侦听器中使用
this
引用单击的标记内容

google.maps.event.addListener(marker, 'dragend', function(){
  console.log(this.getPosition());
});

创建标记时,将标记存储到数组中

var arr_marker=[];
对于(i=0;i}
您不必推送全局定义数组中的每个标记,然后访问数组变量gmMarkers=[];gmMarkers.push(marker);然后您可以使用for(var i=0;i