javascript – 仅使用Google放置API自动填充地名

前端之家收集整理的这篇文章主要介绍了javascript – 仅使用Google放置API自动填充地名前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我已成功设置Google Places API的自动填充功能

var input = document.getElementById('place_name');
var autocomplete = new google.maps.places.Autocomplete(input);

但这会自动填充文本框place_name,其地址如“ABC,Some Street,Washington,WA,United States”
但我想在文本框中只填充地名,例如在我的情况下ABC.
我怎么能这样做?

我试过了

google.maps.event.addListener(autocomplete,'place_changed',function () {
    var place = autocomplete.getPlace();

    $('#place_name').val(place.name);
});

但它没有做任何事情.
请帮忙…

最佳答案
我现在意识到我完全误解了这个问题.我认为这是你想要消毒的下拉框的内容.要更改搜索框的内容,只需添加即可

input.value=input.value.split(',')[0]; 

到你的place_changed事件 – > http://jsfiddle.net/9RkM9/

这是谷歌地图在下拉框中组织结果(预测)的方式:

谷歌并没有将这个结构在未来的整个过程中保持稳定,但事实上他们实际上记录了我们现在可以信任的标记结构样张.

一个典型的.pac项目看起来像这样,这里搜索“Los”:

这里有CA和美国在场,您要避免.任务只是减少.pac-item节点的内容,因此我们只保留所谓预测的名称部分.每次用户点击密钥时,自动填充都会搜索,因此您可以在自己的输入密钥事件中否决自动生成的预测列表.需要稍微延迟,所以我们实际访问最新的预测列表,而不是前一个:

input.onkeyup = function(e) {
   setTimeout(function() {
      var places = document.querySelectorAll('.pac-item');      
      for (var i=0;i

在这里看到它 – > http://jsfiddle.net/8SGvR/

原文链接:https://www.f2er.com/jquery/428746.html

猜你在找的jQuery相关文章