我遇到了将地理编码器结果保存到数组的问题。我有三个文本输入字段,必须获取放入其中的位置的坐标。到目前为止,这工作正常,但我不知道如何将这些结果保存到数组以供以后处理。它似乎不正常工作。到目前为止,这是我的代码:
var addresses = [];
var count = 0;
var address;
var results = [];
var geocoderResults = [];
function startQuery() {
while (count <= 2) {
var address = document.getElementById("query_input" + count).value;
addresses[count] = address;
alert (address);
getCoordsFromAddress(addresses[count]);
count ++;
}
alert(results[0] + ", " + results[1] + ", " + results[2]);
count = 0;
}
function getCoordsFromAddress(addressString){
var geocoder = new google.maps.Geocoder();
var addressObj = {address:addressString};
geocoder.geocode(addressObj, onGeocoderReady);
}
function onGeocoderReady(geocoderResults, status){
var lat = geocoderResults[0].geometry.location.lat();
var lng = geocoderResults[0].geometry.location.lng();
var formattedAddress = geocoderResults[0].formatted_address;
var location = lat+","+lng;
alert(location);
results[count] = location;
}
所以这样,我会得到三个警告,首先显示位置名称,在工作流程结束时,我会得到三个警报,一个接一个地显示三个坐标,而不是位置/坐标/位置/坐标...... 并且不可能像我正在尝试那样将“位置”保存到数组中。 但是我做错了什么? 谢谢你的帮助