谷歌地图自动完成,但仅限于街道地址名称。

7

我目前正在开始使用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);

});

但目前无法正常工作。

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

这是可能的吗?

1个回答

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'],
};

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接