gpt4 book ai didi

javascript - Google 提出 API "rankby=location"问题

转载 作者:行者123 更新时间:2023-12-01 03:17:51 26 4
gpt4 key购买 nike

因此,我目前正在开发一个利用 Google Places API 的原型(prototype),并且正在努力处理此处显示的 API 文档:https://developers.google.com/places/web-service/search

简而言之,rankby='location' 选项现在似乎需要半径设置,这与文档相反(如果半径被注释掉,则 API 请求会出错:“未捕获错误:缺少参数。您必须指定半径。 ”)。

事实上,rankby='location'选项似乎没有做任何事情,因为我得到的列表有更远的项目(使用纬度/经度转换),在更近的项目之前列出等等 - 并且是完全相同的当我评论该选项时的响应(搜索半径内的所有公园)。

代码笔: https://codepen.io/creative-lab-sydney/pen/18afe9d8500d490cbe93be68109c5b82

简单地点 api“nearbySearch”请求的代码示例:

const places = document.querySelector('#places');
const RADIUS = 700;
let request = {
location: userLocation, // taken from navigator.geoLocation
radius: RADIUS, // mandatory now (?) RADIUS = 50;
type: ['park'],
rankby: 'distance',
};
const service = new google.maps.places.PlacesService(document.querySelector('#moo'));
service.nearbySearch(request, callback);
function callback(results, status) {
if (status === google.maps.places.PlacesServiceStatus.OK) {
Object.keys(results).map(key => {
let item = results[key];
let placeLocation = {
lat: item.geometry.location.lat(),
lng: item.geometry.location.lng()
};
let distObj = getDistance(userLocation, placeLocation);
let div = document.createElement('div');
div.appendChild(document.createTextNode(`${item.name} - dist: ${distObj.text}`));
places.appendChild(div);
});
}
}

最近还有其他人在使用此 API 时遇到困难吗?

最佳答案

好吧,看来我的语法有点错误。请求的语法应为:

var request = {
location: userLocation,
type: ['park'],
rankBy: google.maps.places.RankBy.DISTANCE,
};

关于javascript - Google 提出 API "rankby=location"问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45427079/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com