var markers=[];
function updateMap(data){
console.log(markers);
if(markers.length>0)
{
for (var i = 0; i < markers.length; i++) {
map.removeLayer(markers[i]);
}
}
//location.reload();
map.removeLayer(markers);
var lat,lon;
var road;
var detector;
//var svg=d3.select("#map").append("svg");
//markers=[];
//var count=0;
map.dragging.enable();
data.forEach(function(d)
{
// count++;
lat=d.lat;
lon=d.lon;
road=d.road;
detector=d.detector;
markers.push((new L.circle([lat, lon], 200, {
color: 'yellow',
fillColor: '#f0f',
fillOpacity: 0.5
})).bindPopup("Road Name:"+road+"<br>Detector ID: "+detector))
});
//console.log("Total Detectors= "+count);
//console.log(markers);
for (var i = 0; i < markers.length; i++) {
map.addLayer(markers[i]);
}
map.setView([lat, lon],13);
map.dragging.enable();
}
console.log(markers);
下面的代碼我期待着在最後的console.log(標記)聲明的值。但我越來越[]。這是爲什麼發生?全局變量不是在方法內部填充的嗎?
您從未調用過該方法。 – Amadan 2015-02-23 17:00:03
我打電話從另一個函數在另一個地方的方法 – 2015-02-23 17:00:48
的Ajax響應處理程序中可能調用它和Ajax是異步的,所以你在嘗試之前,已經從服務器 – charlietfl 2015-02-23 17:01:28