Google地图自动填充功能,但仅适用于街道地址名称

时间:2012-04-16 15:22:06

标签: jquery google-maps-api-3 autocomplete

我目前正在开始使用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 个答案:

答案 0 :(得分: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'],
};