使用 node/vuejs,如何使 google 在客户端发出 API 请求

Using node/vuejs, how to make google place API request on client side

我在浏览器中使用 运行 作为单页应用程序的 vuejs,因此我进行的任何 API 调用都使用 axios。不幸的是,由于 CORS,googles APIs 阻止了通过 axios 的任何请求。我尝试了各种 npm 包来尝试解决这个问题,包括 "official" google maps package,但我仍然 运行 遇到 CORS 问题。

我确信一定有一种方法可以使用他们的 javascript 库之一通过浏览器进行 placeid 搜索,但我终究找不到任何好的文章或示例来查看它是如何完成的。

我有 google 自动完成功能,通过地理编码创建 google 地图没有问题,只是找不到与 placeid 搜索相关的任何内容。

这是我尝试从 googles 文档中获取的请求示例。

https://maps.googleapis.com/maps/api/place/details/json?placeid=ChIJN1t_tDeuEmsRUsoyG83frY4&key=YOUR_API_KEY

任何人都可以提供解决方案或 link 解释如何通过 javascript 库或通过 API 调用而不 运行 进入 CORS 来正确执行此操作有问题吗?

您的 link 到 Google 地图包是 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 JavaScript API