2012-08-13 29 views
35

Google harita uygulamam için otomatik olarak çalışmaya devam etmeyi denemek. Bir adres yazarkenGoogle Maps v3 API - Otomatik Tamamla (adres)

<input type="text" class="clearText" id="address" name="address" value="" size=20 autocomplete="off"> 

JavaScript

var input = document.getElementById('address'); 
    var options = { 
     componentRestrictions: {country: 'au'} 
    }; 
    var autocomplete = new google.maps.places.Autocomplete(input, options); 

Maalesef hiçbir şey olmuyor

HTML:

İşte cari koddur.

Herhangi bir fikrin var mı?

Şimdiden teşekkürler. Aslında aşağıdaki hatayı alıyorum:

Düzenleme

Yakalanmayan TypeError: Kod haritama fonksiyonunu başlatmak yerleştirilir neden

emin değil tanımsız

malı 'otomatik tamamlama' okunamıyor.

Düzenleme 2: Düzeltildi. Aşağıda cevapla.

+4

Düzeltme baskınız iyi çalışıyor! çok teşekkür ederim. – eifersucht

+0

Bu betiği sadece yüklediniz mi? ' – jshaf

cevap

4

düzeltildi. Otomatik tamamlama kitaplığı aslında açık bir şekilde yüklenmesi gereken ayrı bir kitaplıktır. Aşağıdaki çizgi problemi çözdü.

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=places‌​&sensor=false"></scr‌​ipt> 
14

Düzeltmeleriniz benim için de çalıştı. Ben http://ubilabs.github.com/geocomplete/ yılında Plug-Geocomplete jQuery kullanıyorum ve onların ana sayfasında talimatlar bu

<script src="http://maps.googleapis.com/maps/api/js?sensor=false&amp;libraries=places"></script> 

kullanmayı diyor Ama bu benim için işe yaramadı ve aynı hatayı alıyordum.

burada Google Maps API cevap https://developers.google.com/maps/documentation/javascript/places?hl=en-EN#loading_the_library

+0

Garip Bunun neden olduğunu bilmek ilginç. Belki de sorun, kitabın tarayıcıya gönderilme şeklinden kaynaklanmaktadır. Komut dosyasını oluşturmak için PHP mi yoksa html mi kullanıyordunuz? Hangi tarayıcı? –

+0

Bu bir süre önceydi ama bence senaryoyu oluşturmak için Rails erb şablonunu kullanıyordum. Yani, HTML. –

+0

Çalışmıyordu çünkü url 'sensor = false & library = yer' değil sensor = false & kütüphaneler = bulunduğunuz yer olan yerler. & 'bir html işareti, bir URL değil (çünkü bir url'de sadece' & ') :). – Maverick

0

teşekkürler Matt belgelerine bakın! Her nasılsa libraries=places kullanırken type="text/javascript" özniteliğini <script> etiketinde atlamamak önemli görünmektedir.

Çalışmaz:

<script src="http://maps.googleapis.com/maps/api/js?libaries=places&sensor=false&callback=initMap"></script> 
<script src="http://maps.googleapis.com/maps/api/js?libaries=places&sensor=false"></script> 

Çalışmaları: (initMap fonksiyonu tanımlanmış olan)

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=places&sensor=false"></script> 

Geri arama varyantı da çalışır:

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=places&sensor=false&callback=initMap"></script> 

Bu da başka bir uyumlu gibi görünüyor SO answer ve official documentation ile tutarsız (sağlanmadıkça) URL'deki key fark yaratır).

1

Bunu, komut özelliğine 'asenk erteleme' eklemek zorunda: