google.maps.places及其自动填充方法未定义

时间:2013-09-19 16:30:02

标签: javascript jquery google-maps

我正在加载Google Maps APIjQuery和此Geocomplete插件。 请注意,我还指定了库( libraries = places ),最后是我的 API密钥

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

但我总是收到错误:

未捕获的TypeError:无法读取未定义的属性“自动完成”[jquery.geocomplete.js:153]

插件内...

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

我尝试 google.maps 并返回常规对象,但地点未定义

1 个答案:

答案 0 :(得分:67)

  

我尝试使用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而不是&amp;libraries,它会起作用。