Google geocoder.geocode, asenkron değişken haritalama

oy
0

beklendiği gibi aşağıdaki coğrafi kod asenkron metot feryat var, ben özel bir nesne Array bir adres alarak çalışır, benim sorunum sonucunun haritalama sırt, bu yöntemi ateş ettiğini [i] nesne sonuçları yalnızca geri ver görmektir i Girilen birinden farklıdır biçimlendirilmiş adresi vb sokağa St değiştirir bazı alan kodları ekler Geri bu sonuçları aldığımda bu yüzden yeni Lat maç için hiçbir yolu yoktur ve EUz Bir fikrin burada yapabileceğini ne nedeniyle bu yöntem ve sırayla dönmeyen sonuçların asenkron doğaya Her nesneye aldık koordinatları?

Teşekkürler.

Düzenleme: düşüncelerim geri sonuçlar sırayla almak için bir yol oluşturmak olacaktır, bilmiyorum ideal Senkron için bunu değiştirmek ve herhangi bir örnek bulamıyorum.

işlev iterateAndAddress (objArray) {

    for(var i=0; i< objArray.length; i++) {

        var address = objArray[i].BillingStreet +' '+objArray[i].BillingCity+' '+objArray[i].BillingCountry;
        var geocoder = new google.maps.Geocoder();
        console.log('Address = '+address);

        if(geocoder) {
            geocoder.geocode( { 'address': address}, function(results, status) { 

                if (status == google.maps.GeocoderStatus.OK) {

                    //console.log(results);
                    var lat = results[0].geometry.location.lat();
                    var lon = results[0].geometry.location.lng();  
                    console.log('Address : '+results[0].formatted_address);


                }else if(status == 'OVER_QUERY_LIMIT') {

                }
                else{

                }
            });  
         }  

    }  
}
Oluştur 06/03/2013 saat 12:27
kaynak kullanıcı
Diğer dillerde...                            


1 cevaplar

oy
0

karışımı içine bir kimliği atın. Hem de veri döndürmek gibi, hem de kimliği dönmek ve yapılır bilgilerini tieing ve tozunu.

... Düzenle

Ok, bu nedenle bir nesne diziden isteklerini yapıyoruz. Bu dizi kimliği anahtarlarını var mı? Eğer öyleyse, o zaman hem de dönen enlem ve ayrıca id iade uzun.

var id = objArray[i].id
var lat = results[0].geometry.location.lat();
var lon = results[0].geometry.location.lng();

Ya kullandığınız ne olursa olsun id tuşları.

Bir dizi dönüş için daha iyi (ya da bu tür nesne) olabilir

result[i].lat = results[0].geometry.location.lat();
result[i].lon = results[0].geometry.location.lng();

Sürece daha sonra kayıtları i bağlarını kadar bildiğimiz gibi size karşılaştırma noktası var.

Ben asynchronoucity (kelime?) Mevcut yöntemin eksik gerekir, itiraf etmeliyim.

Cevap 06/03/2013 saat 12:38
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more