-1

我正在尝试将单独的信息窗口添加到手机应用程序中的多个地图标记中,但效果不大。当我运行我的应用程序并单击任何标记时,相同的标记每次都会打开它的 infoWindow。不知道我哪里出错了。

            result.users.forEach(function(entry){
                latLng = new google.maps.LatLng(entry.user_lat, entry.user_lon);
                marker.push(new google.maps.Marker({map: map, position: latLng}));
                circle.push(new google.maps.Circle({map: map, radius: entry.user_accuracy, strokeWeight:1, strokeOpacity:0.5, fillOpacity:0.2, fillColor: '#AA0000'}));
                circle[circle.length-1].bindTo('center', marker[marker.length-1], 'position');
                info.push(new google.maps.InfoWindow({content: '<b>Phone ID:</b> ' + entry.user_uuid + '<br /><b>Callsign:</b> ' + entry.user_callsign + '<br /><b>Time:</b> ' + entry.user_datestamp}));
                google.maps.event.addListener(marker[marker.length-1], 'click', function() {info[info.length-1].open(map, marker[marker.length-1]);});
                if (entry.user_uuid == device.uuid){
                    map.setCenter(latLng);
                }
            });
4

1 回答 1

0

您的 infoWindows 的内容必须在您打开它时更新,否则会显示最后的内容。

只需修改您的 addListener :

google.maps.event.addListener(marker, 'click', function () {
    info.setOptions({
        content: MarkerContent
    });
    info.open(map, marker);
}); 
于 2013-08-22T07:55:36.020 回答