私の問題は、Google マップを使用したリバース ジオコーディングにあります。取得した住所を使用してルートをプロットできるように、n 個 (15 未満) の緯度と経度の座標をジオコーディングしたいと考えています。私の問題は、ループで使用しているときに、渡された緯度経度座標の順序でアドレスを指定していないことです。ループが正しく実行されていません。私が問題を抱えているコードの部分は次のとおりです。
for(var i=0;i<tlength;i++){
alert(i);
var geocoder = new google.maps.Geocoder();
geocoder.geocode({'latLng': latlng[i]},function(results, status) {
alert(i);
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
var add=results[0].formatted_address;
address.push(add);
}
}
});
}
取得された住所配列は、latlng 配列と順序が異なります。2 番目の latlng が最初にジオコーディングされ、2 番目のアラート ボックスの i の値は常に 6 (この場合は tlength=6) です。0 から 5 に変わるはずですが、そうはなっていません。誰かがこれで私を助けることができますか?または、緯度経度座標を直接使用してルートをプロットする他の方法はありますか?