【问题标题】:How to display google place autocomplete data to textbox如何将谷歌地方自动完成数据显示到文本框
【发布时间】:2014-09-25 12:56:10
【问题描述】:

我正在为我的项目实施 Google Place Autocomplete,但我不擅长使用 Google 代码,所以我希望有人能帮助我。

现在我正在尝试使用 Google Place Autocomplete 将搜索到的值存储到文本框,即:

  1. 街道地址 1
  2. 街道地址 2
  3. 城市
  4. 状态
  5. 邮政编码
  6. 国家
  7. 纬度
  8. 经度

这是我非常基本的代码:

JS部分:

<script type='text/javascript'>
    //<![CDATA[
    window.onload = function() {
        var input = document.getElementById('searchTextField');
        var options = {
            componentRestrictions : {
                country : 'de' // What to pass here, If I want to allow search result from all country?
            }
        };

        new google.maps.places.Autocomplete(input, options);
    }//]]>

</script>

HTML 部分:

<label for="searchTextField">Google Place Autocomplete:</label>
<br>
<input id="searchTextField" type="text" size="50">
<br><br>
<div>
    <label for="ad1">Street address 1</label>
    <input type="text" name="ad1" id="ad1" value="" />
</div>
<div>
    <label for="ad2">Street address 2</label>
    <input type="text" name="ad2" id="ad2" value="" />
</div>
<div>
    <label for="city">City</label>
    <input type="text" name="city" id="city" value="" />
</div>
<div>
    <label for="state">State</label>
    <input type="text" name="state" id="state" value="" />
</div>
<div>
    <label for="zcode">Zip code</label>
    <input type="text" name="zcode" id="zcode" value="" />
</div>
<div>
    <label for="country">Country</label>
    <input type="text" name="country" id="country" value="" />
</div>
<div>
    <label for="lat">Latitude</label>
    <input type="text" name="lat" id="lat" value="" />
</div>
<div>
    <label for="long">Longitude</label>
    <input type="text" name="long" id="long" value="" />
</div>

我的 JSFiddle:http://jsfiddle.net/SDPHm/258/

注意:我想允许从所有国家/地区进行搜索。

如果有人帮助我,我真的很感激。

【问题讨论】:

    标签: jquery google-maps-api-3 autocomplete google-api google-places-api


    【解决方案1】:

    在代码中添加一个监听器以获取 address_components,例如:

    google.maps.event.addListener(autocomplete, 'place_changed', function() {
        var place = autocomplete.getPlace();
        var components = place.address_components;
        var street = null;
        for (var i = 0, component; component = components[i]; i++) {
            console.log(component);
            if (component.types[0] == 'route') {
                street = component['long_name'];
            }
        }
        alert('Street: ' + street);
    });
    

    查看此链接了解更多详情:Get a address_components

    希望对您有所帮助。 :)

    附:请说明自动填充功能是提供来自所有国家/地区还是某个国家/地区的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-08
      • 1970-01-01
      • 2014-05-21
      • 1970-01-01
      • 2017-07-09
      • 1970-01-01
      • 2020-02-27
      • 2022-12-20
      相关资源
      最近更新 更多