私のウェブサイトには、英国周辺の場所のリストを表示する Google マップがあります。ただし、情報ウィンドウには、個々のレコードごとに同じレコードが表示されます。私のコードは下にあります。何か理由は?
var locations = [[52.478899, -1.894055, 'test 1', '87', 'Name: test 1'],
[52.479474, -1.895946, 'test 2', '88', 'Name: test 2 '],
[52.477082, -1.893929, 'test 3', '89', 'Name: test 3 ']];
function initialize() {
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(52.528680, -1.839480),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var bounds = new google.maps.LatLngBounds();
for (var i = 0; i < locations.length; i++) {
var curLoc = locations[i];
myLatLng = new google.maps.LatLng(curLoc[0], curLoc[1]);
var beachMarker = new google.maps.Marker({
position: myLatLng,
map: map,
title: curLoc[2],
data: curLoc[4], //add content to the Marker-object
zIndex: 50 - i
});
var infowindow = new google.maps.InfoWindow({
content: curLoc[4]
});
google.maps.event.addListener(beachMarker, 'click', (function() {
infowindow.setContent(beachMarker.data);
infowindow.setPosition(beachMarker.position);
infowindow.open(map);
}));
bounds.extend(myLatLng);
map.fitBounds(bounds);
}
}
google.maps.event.addDomListener(window, 'load', initialize);
更新: コードを変更しましたが、問題は解決しませんが、マーカーをクリックすると、最後のマーカーのテキストが表示されるだけでなく、最後のマーカーに焦点が当てられます。
サンプルの URL は次のとおりですhttp://map.projects.webskii.com/default.html