我正在尝试从谷歌地图获取特定信息,该信息只能通过 JavaScript API 获得。编辑:我特别对响应的“步骤”、“腿”和“overview_path”部分感兴趣。这些数据只能使用 JavaScript API 接收;参见 下面的(直接方向)API 调用的响应,以查看是否存在此信息;https://maps.googleapis.com/maps/api/distancematrix/json?origins=46.210553,6.1430196&destinations=47.54758899999999,7.589662&mode=transit&transit_mode=rail&key=YOUR_API_KEY
\n但是,我不需要任何类型的可视化或地图,只需绘制对我的请求的 json 响应。
\n所以我想在我的终端中通过 NodeJS 运行请求,下面的代码应该将请求和响应输出到我的终端。
\n我\xe2\x80\x99ve 遇到了googlemaps/js-api-loader可用于本地测试的库,我想我\xe2\x80\x99m 在这里所做的(?):
编辑:我在最初的问题中错误地使用了 DistanceMatrix 而不是 DirectionsService 。正如@MrUpsidown 在评论中指出的那样,我可以使用 google-maps-services-js NodeJS 库。我更新了代码,您可能会再次争论我可以使用这个库,但是,如上所述,我想要的信息并未包含在 API 的响应中。
\nconst { Loader } = require("@googlemaps/js-api-loader");\n\nconst loader = new Loader({\n apiKey: API_KEY,\n version: "weekly"\n});\n\nloader.load().then(() => {\n // initialize services\n const directionsService = new google.maps.DirectionsService()\n\n directionsService\n .route({\n origin: "Genf",\n destination: "Basel",\n travelMode: google.maps.TravelMode.TRANSIT,\n })\n .then((response) => {\n console.log(JSON.stringify(response, null, …Run Code Online (Sandbox Code Playgroud)