我在将地理编码器结果保存到数组时遇到了问题。我有三个文本输入字段,并且必须获取放入其中的位置的坐标。到目前为止这工作正常,但我不知道如何将这些结果保存到数组中以供以后处理。它似乎无法正常工作。到目前为止,这是我的代码:
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;
}
所以像这样,我将收到三个警报,首先显示位置名称,然后在工作流程结束时,我将收到三个警报,依次显示三个坐标,而不是位置/坐标/位置/坐标...无法像我尝试的那样将“位置”保存到数组中。但是我做错了什么?感谢帮助