为什么属性“半径”不起作用getPlacePredictions谷歌地图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么属性“半径”不起作用getPlacePredictions谷歌地图相关的知识,希望对你有一定的参考价值。
我使用getPlacePredictions
获取结果自动完成谷歌地图。我在莫斯科使用中心地图。我读了文档https://developers.google.com/maps/documentation/javascript/reference#AutocompletionRequest
我看到radius
类型编号并以米(50000)指定。但是我得到距离650000的结果。例子我键入“Sara”并获得结果“Saransk,Россия”。我的位置 - 是莫斯科。距离莫斯科和萨兰斯克有65万米的距离。
我的代码示例:https://jsfiddle.net/bg479gna/33/
const autoComplete = new google.maps.places.AutocompleteService();
const input = document.querySelector('#search');
const result = document.querySelector('#result');
const getPlaceAutocomplete = (value) => {
autoComplete.getPlacePredictions({
input: value,
location: new google.maps.LatLng(55.755826, 37.617300), //Moscow
radius: 50000, //this value 50km. But i get cities on distance 650km. WHY?!?!
componentRestrictions: {
country: 'ru',
},
}, (data) => {
data.forEach((item) => {
result.innerhtml += `<li>${item.description}</li>`
});
});
};
input.addEventListener('keyup', () => {
const value = input.value;
getPlaceAutocomplete(value)
});
我怎么解决这个问题?
我尝试使用getQueryPredictions
和getPredictions
而不是getPlacePredictions
,但我得到了相同的结果。
你可以qazxsw poi参数。但qazxsw poi不支持。更多strictBounds
和AutocompleteService
这只是一种偏见,而不是严格的限制。从info.你可以参考(强调我的):
location类型:LatLng预测偏置的位置。预测将偏向给定的位置和半径。或者,可以使用边界。 radius类型:number用于预测偏置的区域的半径。半径以米为单位指定,并且必须始终附有位置属性。或者,可以使用边界。
如果您想为每个国家设置here.限制,您需要the documentation请参阅strict
和google.maps.places.ComponentRestrictions
。
见AutoCompleteService Class和AutoCompleteService Request。
希望这可以帮助!
以上是关于为什么属性“半径”不起作用getPlacePredictions谷歌地图的主要内容,如果未能解决你的问题,请参考以下文章
SVG 圆的样式在 Firefox 中不起作用,浏览器删除了半径属性
边界半径在ie中不起作用,我该如何实现以便它开始在ie中工作[重复]