谷歌地图仅自动填充带有数字的街道

Posted

技术标签:

【中文标题】谷歌地图仅自动填充带有数字的街道【英文标题】: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(用于没有门牌号的街道)。

【问题讨论】:

【参考方案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'] 但仍然有自动完成,只有邮政编码。

以上是关于谷歌地图仅自动填充带有数字的街道的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用地图 API 调用(例如,必应地图、谷歌地图)从街道地址获取商店网站地址? [关闭]

如何从地图上获取街道地址、邮政编码、国家、州?

预填充Google地图自动填充功能(iOS / Swift)

使用excel VBA仅引用一个数字来自动填充日期

如果用户在Google地图自动填充中选择地址,则忽略模糊事件

Google 自定义搜索自动填充功能仅针对选定的字词