Aşağıdaki kodu kullanıyorum: Posta kodu: 11368
. Bir otomatik tamamlama nesne (servis) Üst zip kodun gerçek bölgesiyle alıyorum oluşturduğunuzdaGoogle'ın Otomatik TamamlamaService ve Otomatik Tamamlama aynı sorguyla farklı sonuçları döndürüyor
:
autocomplete = new google.maps.places.Autocomplete(
document.getElementById('PlaceSearch'),
{ types: ['(regions)'] });
[...]
budur:
Bu kodudur tam olarak ne istediğimi. Bununla birlikte, tasarım nedenleriyle özel bir otomatik tamamlama sistemi site bilgisi kullanmam gerekiyor. Bu nedenle, aynı şeyin (yalnızca en azından olması gereken) UI olmayan, yalnızca kod sürümü olan AutocompleteService
'a geçtim. Benim otomatik tamamlama hizmeti oluşturun:
x = new google.maps.places.AutocompleteService();
Ve kullanın:
Ben description
kullanıyorum:
x.getQueryPredictions({ input: key }, function (results, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
[...]
});
});
Ancak bu ben sonuçlarından elde ediyoruz özelliği görüntülemek için özellik, ancak geri dönen loca ilk girdinin yer kimlikleri olarak sorun değil Tam olarak aynı sorguda yazmam olsa bile, iyonlar tamamen farklıdır.
Ben de denedim:
x.getQueryPredictions({ input: key, types: ['(regions)'] }
,
x.getQueryPredictions({ input: key, types: ['(geocode)'] }
x.getQueryPredictions({ input: key, types: ['geocode'] }
typeahead
düzeyinde bir soru cevaplar; Otomatik tamamlama hizmetinden doğrudan geri arama işlevinde bir hata ayıklayıcı ile kontrol ettik.
Sonra iki durumda en ağ isteklerini kontrol ve burada çalışan en talebidir ettik:
https://maps.googleapis.com/maps/api/place/js/AutocompletionService.GetPredictions?1s11368&4sen-US&9s(regions)&15e3&key=XXXXXX&callback=_xdc_._qxy1y2&token=45006
Doğru JSON döndürür. İşte
yanlış JSON döndüren istek:https://maps.googleapis.com/maps/api/place/js/AutocompletionService.GetQueryPredictionsJson?1s11368&4sen-US&9s(regions)&15e3&key=XXXXXX&callback=_xdc_._38p24d&token=20471
Ve yanlış JSON döndürür. Gördüğüm kadarıyla (regions)
'da types
parametresi olarak geçmem gerekiyor ve hala yanlış. Daha saçma, iki sorgunun arasındaki tek fark token
(yanlış sorgunun belirtecini doğru olanla değiştirmeyi denedim ama The Google Maps JavaScript API must be downloaded directly from Google's servers.
hatası var) ve geri arama işlevi var. iade JSON ile yapmak.Bunu düşünebildiğim tek şey, Google'ın sunucuda başlatma düzeyinde bir şeyler yapmasıdır, bu sırada sunucuya/örneğe bağlı olan belirteci döndürür (dolayısıyla belirteç).
Neyi yanlış yapıyorum ve aynı sonuçları Google’ın kendi typeahead uygulamasını programlı olarak nasıl edinebilirim?