2012-06-09 33 views
21

Google Haritalar'ın coğrafi kodlama için otomatik tamamlama özelliğini kullanıyorum. Çok fazla veri döndürüyor gibi görünüyor, ama lat/lng değil. Bu bilgiyi elde etmenin bir yolu var mı? Daha fazla işlem için arka uç uygulamamıza geri göndermek istiyorum.Google Maps Otomatik Tamamlama: lat/lng nasıl edinilir?

+0

olası yinelenen [LatLngBounds - SW ve KD puan almak nasıl] (http://stackoverflow.com/questions/10957559/latlngbounds-how-to- get-sw-and-ne-points) –

+0

Yapmak istediğiniz ya da kendiniz çözmeye çalıştığınız şeyi doğru bir şekilde açıklamadan çok fazla soru (429 soruya karşı 15 cevap) atıyorsunuz. Bu siteye gürültü katıyor. –

+0

Yinelenmezler. Bir dikdörtgeni belirlemeye çalışmakla ilgilenen bu işlem, API’nin verdiği yanıtla ilgilidir. – StackOverflowNewbie

cevap

22

Tamam, Yerler veya Otomatik Tamamlama hakkında bilgi sahibi değilim. Ne arıyorsun ben this example aldı ve yer adını girebilir ve, seçildiğinde, LatLng ile infowindow oluşturulur nerede this JSFiddle oluşturmak için yukarıdaki satırı eklendi göstermek için

autocomplete.getPlace().geometry.location 

olduğu Ama görünüşe. Özellikle, kullanıcının seçimini dinler ve daha sonra govdeyi yeniler.

google.maps.event.addListener(autocomplete, 'place_changed', function() { 
     infowindow.close(); 
     var place = autocomplete.getPlace(); 
     ... 
     infowindow.setContent('<div><strong>' + place.name + 
     '</strong><br>' + address + "<br>" + place.geometry.location); 
+0

Bu yaklaşım uzun ve lat getirmiyor. – neoplomero

+3

@neoplomero aslında, autocomplete.getPlace(). Geometry.location 'autocomplete.getPlace(). Geometry.location.lat()' ve 'autocomplete.getPlace().() – guival

38

lat denilen yöntem vardır() ve Ing() geometri nesnenin prototip üzerinde var olduğunu. Yani değerlerini almak için, sadece aşağıdaki kullanın: ait

var place = autocomplete.getPlace(); 

var lat = place.geometry.location.lat(), 
    lng = place.geometry.location.lng(); 

// Then do whatever you want with them 

console.log(lat); 
console.log(lng); 

console.warn('Warning: I didn\'t test this code!'); 
+0

Bana çok yardımcı oldu. – CENT1PEDE

+0

Mükemmel, teşekkürler. – neoplomero

+0

Bu, kotadaki istekleri kullanıyor mu? – dtgq

İlgili konular