我使用的是 vuejs,它在浏览器中作为单页面应用程序运行,因此我所做的任何 API 调用都使用 axios。不幸的是,由于 CORS,谷歌 API 阻止了通过 axios 的任何请求。我尝试了各种 npm 包来尝试解决这个问题,包括“官方”google maps package ,但我仍然遇到 CORS 问题。
我确信一定有一种方法可以使用他们的 javascript 库通过浏览器进行 placeid 搜索,但我一生都找不到任何好的文章或示例来了解它是如何完成的。
我的谷歌自动完成功能正常工作,通过地理编码创建谷歌地图没有问题,只是找不到与 placeid 搜索相关的任何内容。
这是我试图从谷歌文档中提出的请求的示例。
https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJN1t_tDeuEmsRUsoyG83frY4&key=YOUR_API_KEY
任何人都可以提供解决方案或解释链接,说明如何通过 javascript 库或 API 调用正确执行此操作,而不会遇到 CORS 问题吗?
请您参考如下方法:
您到 Google map 包的链接是 Node.js 包(服务器端)。这就是您遇到 CORS 问题的原因。
If you're building a client-side application, take a look at the Places SDK for Android, the Places SDK for iOS, and the Places Library, Maps JavaScript API.
如果你想在客户端使用Google Maps,你应该使用Maps JavaScript API