我试着去设置的谷歌的地方自动完成从最近的一个点对结果进行排序。 我有这样的代码...
var defaultPlace = new google.maps.LatLng(49.227463, 16.546097);
var optionsAuto = {
location: defaultPlace,
radius: 20000,
types: ['geocode'],
componentRestrictions: {
country: 'cz'
}
};
var autocomplete = new google.maps.places.Autocomplete( inputStart, optionsAuto );
类型和componentRestrictions的伟大工程,但位置和半径似乎并不奏效。
看看文档
它指出:
半径| 定义其范围内返回地方结果的距离(以米为单位)。 允许的最大半径为50,000米。 注意如果rankby =指定的距离(根据下文的可选参数描述)被该半径必须不包括在内。
这听起来像你想的可选参数:rankby =距离:
rankby | 距离。 这个选项会从指定的位置的距离导致升序排列。 按距离排序结果将设置50公里的固定搜索半径。 一个或多个关键词,名称或类型是必需的。
这也是在现有的JavaScript服务
工作实例
这有可能是有人可以不跟我同意,但对我来说,我所定义的半径不带引号,即像下面
var request = {
location: pyrmont,
bounds: map.getBounds(),
radius: 2000,
zoom: 15,
types: ['restaurant']
};
因此,它并没有对半径任何区别,并显示结果独立半径的,但是当我在上面加引号,半径参数似乎是工作
var request = {
location: pyrmont,
bounds: map.getBounds(),
radius: '2000',
zoom: 15,
types: ['restaurant']
};
回到刚刚在半径的地方,你需要strictbounds设置为true。
对我来说,主要的问题,现在是自动完成没有rankBy。 看这里