【发布时间】:2014-08-04 02:02:52
【问题描述】:
从 XML 文件加载标记时,我试图单独删除标记(有延迟),但我似乎无法让它工作。我究竟做错了什么?
一次性删除它们是有效的。
这是我目前所拥有的:
var map = null;
function initialize(){
var mapOptions = {
center: new google.maps.LatLng(41.899084, 12.486559),
zoom: 2,
mapTypeId: google.maps.MapTypeId.HYBRID,
mapTypeControl: false,
streetViewControl: false
};
map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
loadXMLFile();
}
function loadXMLFile(){
var filename = 'concerts.xml';
$.ajax({
type: "GET",
url: filename ,
dataType: "xml",
success: parseXML,
error : onXMLLoadFailed
});
function onXMLLoadFailed(){
alert("An Error has occurred.");
}
function parseXML(xml){
var bounds = new google.maps.LatLngBounds();
var counter = 0;
$(xml).find("resultsPage results event").each(function(){
//Read the latitude and longitude for each Marker
var lat = $(this).find('venue').attr('lat');
var lng = $(this).find('venue').attr('lng');
if (lat == "") {
var locLat = $(this).find('location').attr('lat');
var locLng = $(this).find('location').attr('lng');
var markerCoords = new google.maps.LatLng(parseFloat(locLat), parseFloat(locLng));
}else{
var markerCoords = new google.maps.LatLng(parseFloat(lat), parseFloat(lng));
}
bounds.extend(markerCoords);
setTimeOut(function () {
addMarker(markerCoords);
}, counter * 200);
//increment counter
counter++;
});
map.fitBounds(bounds);
}
}
function addMarker(markerCoords){
var marker = new google.maps.Marker({
map: map,
position: markerCoords,
animation: google.maps.Animation.DROP
});
}
google.maps.event.addDomListener(window, 'load', initialize);
【问题讨论】:
-
setTimeOut->setTimeout
标签: javascript xml google-maps google-maps-api-3 google-maps-markers