8

Şu anda bu kodu kullanıyorum, ancak bu yalnızca bir ülkeye önerileri kısıtlıyor. Bir uygulama gördüm ama jQuery kullanarak jQuery kullanmadan bunu yapmak istiyorum.Google Haritalar Rehber Kütüphanesinin Otomatik Tamamlama özelliğini yalnızca bir şehrin yerleriyle ilgili önerilere nasıl kısıtlarım?

var input = document.getElementById('searchTextField'); 
var options = { 
    //types: ['(cities)'], 
    componentRestrictions: { country: 'pk' } 
}; 
var autocomplete = new google.maps.places.Autocomplete(input, options); 

cevap

17

deneyin bu kodda gösterildiği gibi, sen Autocomplete kurucusuna geçiyoruz options nesneye bir bounds özellik ekleyerek:

var southWest = new google.maps.LatLng(25.341233, 68.289986); 
var northEast = new google.maps.LatLng(25.450715, 68.428345); 
var hyderabadBounds = new google.maps.LatLngBounds(southWest, northEast); 

var options = { 
    bounds: hyderabadBounds, 
    types: ['establishment [or whatever fits your usage]'], 
    componentRestrictions: { country: 'pk' } 
}; 

Eğer Autocomplete sınırları Geçerli görünümdeki tarafından tahrik olmak istiyorsanız

autocomplete.bindTo('bounds', map); 
: haritanın, sen Autocomplete bu şekilde haritanın sınırları bağlayabilir 210 Ya da daha iyi uygulamanızda çalışırsa, ayrıca gerektiğinde açıkça sınırlarını belirleme seçeneğiniz vardır:

autocomplete.setBounds(someOtherBounds); 

Bu benim yukarıdaki örnekte Hyberabad ile yaptığımız gibi, varsayılan bir şehir oluşturmak anlamına gelebilir . Ya da kullanıcılarınızın, başlamak için şehirler listesinden seçim yapmasına izin verin ve ardından harita görüntü alanını seçilen şehre ayarlayın. Autocomplete, zaten yaptığınız gibi sadece componentRestrictionscountry 'PK' ile başlarsanız şehir adlarını önerir. Uygulamanız için en iyi olanı bilirsiniz.

Son olarak, bu durum sadece Autocomplete no'lu şehri gerçekten ve tam olarak kısıtlamıyor, ancak mümkün olduğunca yakın bir sonuç elde etmenizi sağlayacak.

+0

http://hittheroad.ie/, yalnızca İrlanda'da otomatik tamamlamaya ve başka önerilere izin vermez. bu nasıl mümkün olabilir? – ihimv

+0

Bu aptalca soru için üzgünüm, fakat bir ülkede belirli bir şehrin sınırlarını nasıl bulabilirim? –

+0

@SiddharthAjmera: Bu aptalca değil, daha iyi sonuçlar elde edersiniz: Eğer yeni bir soru açarsanız, tam olarak neyi başarmaya çalıştığınız hakkında daha fazla bilgi verin, mevcut kodunuzun bir örneğini ekleyin ve bu kodun neden çalışmadığını açıklayın. . Otomatik tamamlama için javascript SDK için –

2

Otomatik Tamamlama sınıfını kullanarak ülkeye göre arama sonuçlarını kısıtlama veya sınırlama konusunda harika örnekler buldum. Örneğin, burada (ülke), burada -https: //developers.google. Konumunda bulunan setComponentRestrictions adlı bir yöntem var. com/maps/documentation/javascript/reference # BileşenYazılımlar

Örnekler için lütfen https://code.google.com/p/gmaps-samples-v3/source/browse/trunk/places/2012-may-hangout/autocomplete.html?r=290'a bakın.

İlgili konular