11
我創建了幾個Gmarkkers(從JQuery加載的JSON數據加載函數),在它們上面添加一個事件偵聽器來打開我創建的infowindow對象在標記之前,然後我將它們全部添加到地圖。Google map(v3)infowindow始終在同一個標記上打開
問題是infowindow總是打開相同的標記。 我以前都有這個工作,我看不到問題在哪裏......變量的範圍?某處愚蠢的錯誤?
我上傳的example,這裏是一個shortcut to the javascript file
代碼:
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);
};
});
});
這傢伙是真棒:) – Julien 2010-10-25 14:14:23