2015-02-17 81 views
4

我有一个网站,我想要确定用户输入geocoords并使用该地址来进行会议。谷歌地图只有自动完成的街道号码

问题是,谷歌自动完成还显示“邮政编码只”或街道没有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(街道没有housenumber)一些投入。

回答

3

您可以在Autocomplete API的URL请求中使用Place Types参数,该参数只接受具有地理编码的位置。这将启用基于具有合适的经纬度而不是区域的位置的自动完成结果。

下面是该API请求:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=Vict&types;=geocode&language;=fr&key;=API_KEY 

欲了解更多详情,请参阅this谷歌的官方文档。

编辑

然后我会说使用你的webapp商家信息自动填充地址形式。这里是link,这将限制用户使用地址,你可以在你的aps中传递地址。

+2

我已经使用类型:['geocode']但仍然只有邮编的autocompletes。 – Umingo 2015-02-17 23:43:30