我正在尝试从谷歌地图获取特定信息,该信息只能通过 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) 当我想从@react-google-maps/api实现 MarkerClusterer 时,出现错误。
我得到的错误是
没有重载与此调用匹配。重载第 1 个(共 2 个)“(props:MarkerClustererProps | Readonly):ClustererComponent”出现以下错误。类型“Element[]”缺少类型“ReactElement<any,any>”中的以下属性:类型、道具、键重载 2 个,共 2 个,“(props: MarkerClustererProps,上下文:any):ClustererComponent”,出现以下错误。类型“Element[]”不可分配给类型“Element”.ts(2769) index.d.ts(378, 15):预期类型来自此签名的返回类型。index.d.ts(378, 15):预期类型来自此签名的返回类型。
您可以检查下面的代码。(我只分享整个代码的相关部分)
import React, { useEffect, useState, useRef } from 'react';
import { GoogleMap, useJsApiLoader, Marker, MARKER_LAYER, OverlayView, MarkerClusterer } from '@react-google-maps/api';
import './app.css';
import PlacesAutocomplete from './components/PlacesAutocomplete';
const containerStyle = {
width: '100vw',
height: '100vh',
};
const App = () => {
const [center, setCenter] = useState({ lat: 39.015137, lng: 34.97953 });
const [zoom, setZoom] = useState(6);
const [markers, setMarkers] …Run Code Online (Sandbox Code Playgroud) google-maps google-maps-api-3 google-maps-markers markerclusterer google-maps-react