Google Maps API v3为每个标记添加一个InfoWindow。

11 浏览
0 Comments

Google Maps API v3为每个标记添加一个InfoWindow。

注意:我正在使用Google Maps API的v3版本。

我试图在我放在地图上的每个标记上添加一个信息窗口。目前我正在使用以下代码实现:

for (var i in tracks[racer_id].data.points) {
    values = tracks[racer_id].data.points[i];                
    point = new google.maps.LatLng(values.lat, values.lng);
    if (values.qst) {
        var marker = new google.maps.Marker({map: map, position: point, clickable: true});
        tracks[racer_id].markers[i] = marker;
        var info = new google.maps.InfoWindow({
            content: '速度:' + values.inst + '节'
        });
        tracks[racer_id].info[i] = info;
        google.maps.event.addListener(marker, 'click', function() {
            info.open(map, marker);
        });
    }
    track_coordinates.push(point);
    bd.extend(point);
}

问题是当我点击一个标记时,它只显示最后一个添加的标记的信息窗口。而且,为了清楚起见,信息窗口出现在最后一个标记旁边,而不是点击的标记旁边。我想象我的问题在addListener部分,但也不确定。有什么想法吗?

0