Tôi tạo một số Gmarkers (từ dữ liệu JSON được tải bởi hàm "load" JQuery), trên tất cả chúng tôi thêm một trình nghe sự kiện để mở đối tượng infowindow mà tôi đã tạo trước khi đánh dấu, và sau đó tôi thêm tất cả vào bản đồ.Google map (v3) infowindow mở trên cùng một điểm đánh dấu mọi lúc
Vấn đề là infowindow luôn mở trên cùng một điểm đánh dấu. Tôi tất cả đã làm việc này trước đây, tôi không thể nhìn thấy nơi mà vấn đề là ... phạm vi của biến? sai lầm ngu ngốc ở đâu đó?
Tôi đã tải lên một example, và đây là một shortcut to the javascript file
Mã:
var map;
var infowindow;
$(document).ready(function() {
var myLatlng = new google.maps.LatLng(47.15984,2.329102);
var myOptions = {
zoom: 6,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.HYBRID,
scrollwheel: false
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
infowindow = new google.maps.InfoWindow({content:'<p>Test</p>'});
$.getJSON("data.json", function(data) {
var markers = [];
for (var i = data.length - 1; i >= 0; i--){
var latLng = new google.maps.LatLng(data[i].lat, data[i].lng);
var marker = new google.maps.Marker({position: latLng});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map,marker);
});
markers.push(marker);
};
for (var j = markers.length - 1; j >= 0; j--){
markers[j].setMap(map);
};
});
});
anh chàng này là tuyệt vời :) – Julien