相关疑难解决方法(0)

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: '<b>Speed:</b> ' + values.inst + ' knots'
        });
        tracks[racer_id].info[i] = info;
        google.maps.event.addListener(marker, 'click', function() {
            info.open(map, marker);
        });
    }
    track_coordinates.push(point);
    bd.extend(point);
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我点击一个标记时,它只显示添加的最后一个标记的信息窗口.另外要清楚的是,信息窗口出现在最后一个标记旁边,而不是单击标记.我想我的问题是在addListener部分,但不是postitive.有任何想法吗?

javascript google-maps google-maps-api-3

45
推荐指数
3
解决办法
10万
查看次数