我有一个网站,我想确定用户对地理软件的输入,并使用该地址进行会议。
问题在于,Google自动填充功能还会显示"仅限邮政编码"或没有streetno的街道。
有没有在显示之前过滤自动完成结果?
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(适用于没有房屋号码的街道)。
答案 0 :(得分:3)
您可以在Autocomplete API的URL请求中使用Place Types参数,该API仅接受带有地理编码的位置。这将启用基于具有正确的lat lang而非区域的位置的自动完成结果。
以下是API的请求:
https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Vict&types;=geocode&language;=fr&key;=API_KEY
有关详细信息,请参阅this Google的官方文档。
修改强>
然后我会说在您的网络应用中使用地方自动填充地址表单。以下是link,它会限制用户使用你可以在你的aps中传递的地址。