Google地图仅自动填充带号码的街道

时间:2015-02-17 22:42:11

标签: javascript google-maps autocomplete

我有一个网站,我想确定用户对地理软件的输入,并使用该地址进行会议。

问题在于,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(适用于没有房屋号码的街道)。

1 个答案:

答案 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中传递的地址。