web-dev-qa-db-ja.com

google.maps.placesとそのAutocompleteメソッドは未定義です

Google Maps APIjQuery およびこの Geocomplete プラグインをロードしています。ライブラリ(libraries = places)と、最終的にはmyAPIキー

<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js'></script>
<script src='http://maps.googleapis.com/maps/api/js?v=3&sensor=false&amp;libraries=places&key=xxx'></script>
<script src='js/vendor/jquery.geocomplete.js'></script>

ページの読み込み時にGeocompleteプラグインをトリガーしています

$(window).load(function () {
    $('#my-input').geocomplete();
});

しかし、私は常にエラーが発生します:

Uncaught TypeError:未定義の[jquery.geocomplete.js:153]のプロパティ 'Autocomplete'を読み取ることができません。

プラグインの内部...

this.autocomplete = new google.maps.places.Autocomplete(
 this.input, options
);

私はgoogle.mapsを試みましたが、通常のオブジェクトを返しますが、場所はundefined

22
Luke

私はgoogle.mapsを試みましたが、通常のオブジェクトを返しますが、場所は未定義です!

これは、google.maps.placesライブラリがロードされていないことを意味します(以下に示す、投稿したコード行は正しくないか、実際にはページにありません)。

<script src='http://maps.googleapis.com/maps/api/js?v=3&sensor=false&amp;libraries=places&key=xxx'></script>

これはドキュメントの例です:

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

唯一の明らかな違いは&amp;あなたの中で、それは動作するはずですが、おそらく一貫して使用する必要があります。

TL; DR

使用する &libraries not &amp;librariesそしてそれは動作します。

69
geocodezip