<script type="text/javascript">
$(document).ready(function() { initialize(); });
var markerarray = [
['Mount Evans', 39.58108, -105.63535, 4, 'This is Mount Evans.'],
['Badlands National Park', 43.785890, -101.90175, 1, 'This is Badlands National Park']
];
var bounds = new google.maps.LatLngBounds();
function setMarkers(map, markers) {
for (var i = 0; i < markers.length; i++) { setTimeout(function() {
var markerarray = markers[i];
var siteLatLng = new google.maps.LatLng(markerarray[1], markerarray[2]);
var marker = new google.maps.Marker({
position: siteLatLng,
map: map,
animation: google.maps.Animation.DROP,
title: markerarray[0],
zIndex: markerarray[3],
html: markerarray[4]
});
google.maps.event.addListener(marker, "click", function() {
$('.info').html(this.html);
});
bounds.extend(siteLatLng);
map.fitBounds(bounds);
} , i * 2000); }
}
function initialize() {
var myOptions = {
disableDefaultUI: true,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
setMarkers(map, markerarray);
}
當我使用setTimeout(function() {...
我得到一個JavaScript錯誤: 「markerarray是不確定的」。但是,當我刪除超時一切工作,因爲它應該。但是當我們將它們添加到地圖時,我希望在每個標記之間有一段延遲。我錯過了什麼?由於
markerarray是外部和內部的函數聲明,是嗎? – morgar 2011-04-22 23:22:02
它在函數外聲明。 – fille 2011-04-22 23:24:14
好吧,但它再次聲明>> var markerarray = markers [i]; – morgar 2011-04-22 23:25:23