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

Ben*_*ein 6 javascript google-maps autocomplete

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

问题是谷歌自动完成还会显示"仅限邮政编码"或没有街道号的街道.

无论如何在显示之前过滤自动完成结果?

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);
Run Code Online (Sandbox Code Playgroud)

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

尝试一些输入,如14169(邮政编码)或Wilskistr(没有房子的街道).

Ani*_*niV 3

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

以下是 API 请求:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Vict&types;=geocode&language;=fr&key;=API_KEY
Run Code Online (Sandbox Code Playgroud)

更多细节请参考Google的官方文档

编辑

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

  • 我已经使用 types: ['geocode'] 但仍然有仅包含邮政编码的自动完成功能。 (7认同)