【问题标题】:Google Maps autocomplete only Streets with Number谷歌地图仅自动填充带有数字的街道
【发布时间】:2015-04-18 19:14:14
【问题描述】:

我有一个网站,我想在其中确定用户对地理坐标的输入,并将该地址用于会议之类的活动。

问题在于,谷歌自动完成功能还显示“仅邮政编码”或没有街道编号的街道。

是否有在显示自动完成结果之前对其进行过滤?

var input = /** @type {HTMLInputElement} */(
            document.getElementById('pac-input'));
var defaultBounds = new google.maps.LatLngBounds(
            new google.maps.LatLng(52.66805480068766, 13.7713623046875),
            new google.maps.LatLng(52.32191088594773, 12.98858642578125));
var autocomplete_options = {
        bounds: defaultBounds,
        componentRestrictions: {country: 'de'},
        types: ['geocode']
    };
    autocomplete = new google.maps.places.Autocomplete(input, autocomplete_options);
    google.maps.event.addListener(autocomplete, 'place_changed', callServer);

可以在这里找到我的测试站点来查看自动完成功能: http://www.winterreifenwechsel.de/welcome/termine

尝试一些输入,例如 14169(邮政编码)或 Wilskistr(用于没有门牌号的街道)。

【问题讨论】:

    标签: javascript google-maps autocomplete


    【解决方案1】:

    您可以在自动完成 API 的 URL 请求中使用 Place Types 参数,该 API 仅接受带有地理编码的位置。这将启用基于具有适当纬度而不是区域的位置的自动完成结果。

    这是 API 请求:

    https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Vict&types;=geocode&language;=fr&key;=API_KEY
    

    更多详情请参考this谷歌官方文档。

    编辑

    然后我会说在您的 web 应用程序中使用地点自动完成地址表单。这是link 用于限制用户使用您可以在 ,aps 中作为 lat lng 传递的地址。

    【讨论】:

    • 我已经使用了 types: ['geocode'] 但仍然有自动完成,只有邮政编码。
    猜你喜欢
    • 2016-10-17
    • 2018-04-28
    • 2020-06-20
    • 2012-04-27
    • 2017-10-20
    • 2015-03-22
    • 1970-01-01
    • 2016-08-15
    • 2019-11-06
    相关资源
    最近更新 更多