24

我正在加载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();
});

但我总是得到一个错误:

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

插件里面...

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

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

4

1 回答 1

78

我尝试 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;博士

&libraries不使用&amp;libraries它会起作用。

于 2013-09-19T21:19:34.850 回答