得到选择标记谷歌地图api 3

时间:2013-09-14 23:16:16

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

在下面的代码中生成了一个未确定数量的标记,这很有效。

for(i=0;i<idr.length;i++){
var LatLng = new google.maps.LatLng(lat[i], lng[i]);
m[i] = new google.maps.Marker({ 
    position: LatLng,
    icon: image,
    map: map,
    draggable: false,
    val: idr[i] 
});         

}

我想在鼠标经过

时获取相应标记的属性

这不适用于你应该为每个标记创建一个函数,并且不能那么多 此功能仅访问第一个标记

google.maps.event.addListener(m[0], "click", function(e) {
       var latitud = e.latLng.lat();
       alert(latitud);

});

2 个答案:

答案 0 :(得分:2)

在回调中使用 this 来访问当前标记( m[i] 将不会在那里工作,因为它总是会引用最后创建的标记)

     google.maps.event.addListener(m[i], 'mouseover', function() {
        alert(this.val)
    });

答案 1 :(得分:1)

for(i=0;i<idr.length;i++){
var LatLng = new google.maps.LatLng(lat[i], lng[i]);
m[i] = new google.maps.Marker({ 
    position: LatLng,
    icon: image,
    map: map,
    draggable: false,
    val: idr[i] 
});  
   google.maps.event.addListener(m[i], 'mouseover', function() {
        //Do stuff
    });
}

以上是我会这样做的。