我的问题是使用谷歌地图进行反向地理编码。我想对 n 个(小于 15)的纬度和经度坐标进行地理编码,以便我可以使用获得的地址绘制路线。我的问题是当我在循环中使用它时,它没有按照传递的 lat-lng 坐标的顺序给出地址。循环未正确执行。我遇到问题的代码部分是:
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 数组不按顺序排列。第二个 latlng 首先进行地理编码,并且第二个警报框中的 i 值始终为 6(在本例中为 tlength=6)。它应该从 0 变为 5。但它没有发生。有人可以帮我弄这个吗。或者他们是否有任何其他方式直接使用 latlong 坐标绘制路线?