Google maps api 3 谷歌放置自动完成-位置和半径不起作用

Google maps api 3 谷歌放置自动完成-位置和半径不起作用,google-maps-api-3,autocomplete,google-places-api,Google Maps Api 3,Autocomplete,Google Places Api,我正在尝试设置GooglePlacesAutoComplete,从最接近的一点对结果进行排序。我有一个这样的代码 var defaultPlace=new google.maps.LatLng(49.227463,16.546097); var选项自动={ 地点:香港, 半径:20000, 类型:['geocode'], 组件限制:{ 国家:'cz' } }; var autocomplete=new google.maps.places.autocomplete(inputStart,opti

我正在尝试设置GooglePlacesAutoComplete,从最接近的一点对结果进行排序。我有一个这样的代码

var defaultPlace=new google.maps.LatLng(49.227463,16.546097);
var选项自动={
地点:香港,
半径:20000,
类型:['geocode'],
组件限制:{
国家:'cz'
}
};
var autocomplete=new google.maps.places.autocomplete(inputStart,optionauto);
类型和组件限制非常有效,但位置和半径似乎不起作用

看看这张照片

它说:

半径|定义返回放置结果的距离(以米为单位)。最大允许半径为50 1000米。请注意,如果指定了rankby=距离(在下面的可选参数中描述),则不得包括半径

听起来您需要可选参数:rankby=距离:

兰比距离。此选项根据结果到指定位置的距离按升序对结果进行排序。按距离排序的结果将设置50公里的固定搜索半径。需要一个或多个关键字、名称或类型

也可在


可能有人不同意我的观点,但在我的情况下,我定义的半径没有引号,如下所示

 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。
请参见

我认为问题在于,您希望自动完成结果按距离排序。这是不受支持的。自动完成的唯一方法是countrywell,这就是问题所在…我尝试使用bounds选项,结果现在与位置更相关,所以我想我会坚持使用它。谢谢