2

我在将地理编码器结果保存到数组时遇到了问题。我有三个文本输入字段,并且必须获取放入其中的位置的坐标。到目前为止这工作正常,但我不知道如何将这些结果保存到数组中以供以后处理。它似乎无法正常工作。到目前为止,这是我的代码:

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;

        }   

所以像这样,我将收到三个警报,首先显示位置名称,然后在工作流程结束时,我将收到三个警报,依次显示三个坐标,而不是位置/坐标/位置/坐标...无法像我尝试的那样将“位置”保存到数组中。但是我做错了什么?感谢帮助

4

0 回答 0