小编Yrl*_*rll的帖子

谷歌地图 javascript api 无需浏览器

我正在尝试从谷歌地图获取特定信息,该信息只能通过 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 在这里所做的(?):

\n

编辑我在最初的问题中错误地使用了 DistanceMatrix 而不是 DirectionsService 。正如@MrUpsidown 在评论中指出的那样,我可以使用 google-maps-services-js NodeJS 库。我更新了代码,您可能会再次争论我可以使用这个库,但是,如上所述,我想要的信息并未包含在 API 的响应中。

\n
const { 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)

google-maps google-maps-api-3 node.js

5
推荐指数
1
解决办法
892
查看次数

React 中的 Google 地图 MarkerClusterer 与 @react-google-maps/api

当我想从@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

4
推荐指数
1
解决办法
6090
查看次数