-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[0], "click", function(e) {
       var latitud = e.latLng.lat();
       alert(latitud);

});

4

2 回答 2

2

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

     google.maps.event.addListener(m[i], 'mouseover', function() {
        alert(this.val)
    });
于 2013-09-15T00:23:48.683 回答
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
    });
}

以上是我的做法。

于 2013-09-14T23:35:56.940 回答