2012-08-13 20 views
35

Googleマップアプリケーションの自動完了を試行しています。アドレスを入力するときGoogleマップv3 API - 自動完了(住所)

<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); 

残念ながら何も起こりません

HTML:

は、ここで現在のコードです。

アイデア?

ありがとうございます。私は実際には次のエラーを受信して​​います:

編集

キャッチされない例外TypeErrorは:コードは私のマップ機能を初期設定に配置されている理由、

わからない未定義

のプロパティ「オートコンプリート」を読み取ることができません。

編集2:修正されました。以下に答えてください。

+4

あなたの修正版は正常に機能します。どうもありがとうございました。 – eifersucht

+0

このスクリプトのみを読み込みましたか? jshaf

答えて

4

。オートコンプリートライブラリは、実際には明示的に読み込まなければならない別のライブラリです。次の行が問題を解決しました。

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

あなたの修正は私のためにも機能しました。私はhttp://ubilabs.github.com/geocomplete/ にプラグインGeocompleteのjQueryを使用していますし、自分のホームページ上の命令は、この

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

を使用することを言います。しかし、それは私のために動作しませんでしたし、同じエラーを得ていました。

はここにGoogle MapsのAPI答えを https://developers.google.com/maps/documentation/javascript/places?hl=en-EN#loading_the_library

+0

なぜこれが起こるのか知ることは興味深い。おそらく、この問題はブラウザにamperstandが送信されているためです。 PHPやHTMLを使ってスクリプトを生成していましたか?どのブラウザですか? –

+0

これはもう少し前ですが、私はRailsのerbテンプレートを使ってスクリプトを生成していたと思います。だから、HTML。 –

+0

URLはあなたが持っていた 'sensor = false&libraries = places'ではなく' sensor = false & libraries = places'でなければならないので、これはうまくいかなかったのです。 '&'はURLアンパサンドではなく、URLアンパサンドです(URLは '&')なので)。 – Maverick

0

おかげでマットのドキュメントを参照してください!どういうわけか、libraries=placesを使用すると<script>タグにtype="text/javascript"属性を省略しないことが重要であるようです。

は動作しません:

<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> 

作品:

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

コールバック変異体はまた、(定義されたinitMap機能付き)作品:

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

これは、他のと一致しているようですSO answerと一致していない場合は、official documentationと矛盾します( URLのkeyがその違いになります)。

1

あなたはこのように、スクリプト属性に '非同期を延期' を追加する必要があります:固定

関連する問題