Google Maps自动完成,但仅适用于街道地址名称

Nek*_*ama 5 jquery autocomplete google-maps-api-3

我目前开始使用Google Maps v3 API,我想知道是否可以使用自动填充功能仅自动填充街道地址名称吗?

我目前正在使用此代码:

$(document).ready(function(){
    var options = {
      types: ['(cities)'],
      componentRestrictions: {country: "ar" }
     };

 var input = document.getElementById('laboral_calle');

 var autocomplete = new google.maps.places.Autocomplete(input, options);

});
Run Code Online (Sandbox Code Playgroud)

但目前无法使用。

我需要设置一个固定的州和一个固定的城市,以仅在文本字段中显示街道名称建议。

可能吗?

Vas*_*ian 1

我不确定我完全理解您的要求 - 您是说您只想匹配特定城市/州内的街道地址吗?

如果是这样,您可以在自动完成选项中设置 LatLngBounds,将所有结果偏置到您的边界所包围的区域内。它不会完全过滤掉该范围之外的任何内容,但对于给定的搜索,如果您的范围内有与之匹配的内容,它将出现在其他内容之上。请注意,如果您将类型设置为“(城市)”,它将仅与“城市”匹配,并且您不会看到任何街道地址!

在这里,我定义了一个包含伦敦的 LatLngBounds,然后将自动完成限制为仅匹配街道地址。

var londonBounds = new google.maps.LatLngBounds(new google.maps.LatLng(51.332757,-0.475159),new google.maps.LatLng(51.680219,0.191574));

var autocompleteOptions = {
    bounds: londonBounds,
    types:['geocode'],
};
Run Code Online (Sandbox Code Playgroud)