このGoogle Maps API v3 ドロップ マーカーが XML から遅れてドロップすることについて質問があることは知っていますか? 私はそれに従いましたが、コードを間違えなければなりませんでした。
function dropAnim(lat,lng,name) {
console.log("---- " + lat + " - " + lng);
var marker = new google.maps.Marker({
position: new google.maps.LatLng(lat,lng),
map: map,
title: name,
animation: google.maps.Animation.DROP,
icon: imageCar,
});
}
var counter = 0;
$.get('http://server.com/methods.php?m=loadPins', function(data) {
dataName = data.name.split(";");
dataLat = data.lat.split(";");
dataLng = data.lng.split(";");
dataLength = dataName.length-1;
for(var i=0;i<dataLength;i++) {
var lat = dataLat[i];
var lng = dataLng[i];
console.log(lat + " - " + lng);
setTimeout(function() {
dropAnim(lat,lng,dataName[i]);
}, counter * 400);
counter++;
}
},"json");
問題は、まったく同じ場所に 3 つのピンをロードすることです。dataLat と dataLng の負荷は 3 倍異なり、コンソールで確認できますが、関数内からコンソールに出力されるものを見ると、同じ lat と lng (最後のもの) が 3 つあります。