谷歌地图仅自动填充带有数字的街道
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)