在部署时将位置偏差参数与 google 地图 api 放置 web-api 一起使用时出现意外结果,结果不在建议半径内

问题描述 投票:0回答:1

我正在尝试使用 Google Maps API,特别是在我的网络应用程序中放置 web-api,以便用户可以按名称搜索并在地图上向他们显示结果。

当我在本地测试我的应用程序时,这就是发生的情况(即使没有位置偏差参数),并且只需将编码的 URL 放入 Chrome 窗口即可返回预期结果。然而,当我在部署的网络应用程序中执行此操作时,我得到了美国俄勒冈州尤金市的结果(位置偏差坐标当前设置为加拿大渥太华)。这与位置偏差参数不相符。当我设置elephantSQL 数据库以及Netlify 前端和Render 后端时,我按照学校的指示选择USA WEST 作为位置。我想知道通过这样做,Google Maps API 通过部署的 Web 应用程序使用的信息是否基于此设置的位置,而不是传递给它的用户信息?

我使用以下编码的 URL 来执行此操作: https://maps.googleapis.com/maps/api/place/findplacefromtext/json?fields=formatted_address%2Cname%2Ctypes%2Cgeometry%2Cplace_id&input=equator%2Ccoffee&inputtype=textquery&locationbias=circle%3A1000%45.4215296%2C-75.69719309999999&关键= API_KEY

我已经根据用户注册时提供的城市和国家/地区设置了位置偏差纬度、经度坐标。这有望为他们的搜索提供本地响应。

我已将 console.logs 添加到我的代码中,以验证我的函数是否收到了预期的坐标,并将其传递给处理我的 google 地图 api 调用的函数。我不知道有任何其他方法可以验证它是否符合我的预期。但结果并不如预期。

google-maps web-services google-places-api
1个回答
0
投票

从您发布的网址:

&locationbias=circle%3A1000%45.4215296%2C-75.69719309999999

你的位置偏差是错误的,如果我解码它,我得到:

locationbias=circle:1000E.4215296,-75.69719309999999

根据文档应该是:

circle:radius@lat,lng

编码的 URL 可能是:

circle%3A1000%4045.4215296%2C-75.69719309999999

© www.soinside.com 2019 - 2024. All rights reserved.