2012-04-16 81 views
4

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

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

如果是这样,您可以在自动填充选项中设置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'], 
};