首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Google : place_changed未被触发

Google : place_changed未被触发
EN

Stack Overflow用户
提问于 2016-10-21 12:48:37
回答 3查看 5.2K关注 0票数 2

我有一个问题,包括Google。我已经用API键设置了所有东西,清单/建议运行良好,但是当我选择一个建议时,place_changed事件不会被触发。

检查Fiddle:https://jsfiddle.net/xj2d77be/3/

这应该管用,但我完全不知道为什么不行。

代码片段(来自已发布的小提琴):

代码语言:javascript
运行
复制
$(document).ready(function() {
  var autocomplete = new google.maps.places.SearchBox(document.getElementById('mapLocation'));
  google.maps.event.addListener(autocomplete, 'place_changed', function() {
    var place = autocomplete.getPlace();
    console.log(place);
  });
  console.log("Initialized")
});
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maps.google.com/maps/api/js?libraries=places"></script>
<input type="text" id="mapLocation" />

EN

回答 3

Stack Overflow用户

发布于 2016-10-21 12:55:00

试试这个,我已经更新了你的代码,

https://jsfiddle.net/xj2d77be/4/

代码语言:javascript
运行
复制
$(document).ready(function() {
    var autocomplete = new google.maps.places.Autocomplete($("#mapLocation")[0]);
        google.maps.event.addListener(autocomplete, 'place_changed', function() {
            var place = autocomplete.getPlace();
            console.log(place);
        });
    console.log("Initialized")
});

使用SearchBox:

https://jsfiddle.net/xj2d77be/5/

代码语言:javascript
运行
复制
$(document).ready(function() {
    var searchBox = new google.maps.places.SearchBox(document.getElementById('mapLocation'));
        searchBox.addListener('places_changed', function() {
            var place = searchBox.getPlaces();
            console.log(place);
        });
    console.log("Initialized")
});
票数 2
EN

Stack Overflow用户

发布于 2016-10-21 13:47:27

没有"place_changed“事件或.getPlace()函数用于SearchBox。应该是"places_changed“和.getPlaces()

文档:

方法 getPlaces()返回值:数组 返回用户选择的查询,如果还没有找到位置,则返回null,以便与places_changed事件一起使用。 Events places_changed参数:无 当用户选择查询时,应该使用getPlaces来获取新的位置。

注释:-- .getPlaces()函数返回一个数组,而不是一个位置。

代码语言:javascript
运行
复制
$(document).ready(function() {
  var autocomplete = new google.maps.places.SearchBox(document.getElementById('mapLocation'));
  google.maps.event.addListener(autocomplete, 'places_changed', function() {
    var place = autocomplete.getPlaces();
    console.log(place);
  });
  console.log("Initialized")
});
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maps.google.com/maps/api/js?libraries=places"></script>
<input type="text" id="mapLocation" />

票数 1
EN

Stack Overflow用户

发布于 2018-03-28 15:47:21

对我来说,place_changed事件会触发,直到我刷新页面,然后它将不再启动(在本地网页上使用Google )。您必须重新启动Chrome或关闭开发工具,并刷新页面以使事件再次启动。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40177088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档