使用新的谷歌路线API - 如何将路线结果渲染(显示)到地图?

问题描述 投票:0回答:1

使用“旧”谷歌方向 API,我们有 directionsService 用于封装其余查询和 directionsRenderer 以向地图显示结果。

JavaScript 的方向 API 示例:

    // 1. init route config
    let route = {
      origin: {
        ...
      },
      destination: {
        ...
      },
      ...
    }

    // 2. link map to renderer
    this.directionsRenderer.setMap(this.map);

    // 3. make request
    this.directionsService
    .route(direction)
    .then((response) => {
      // 4. render route on map
      this.directionsRenderer.setDirections(response);
    })

至于新路线API:directionsService 可以用原始查询代码替换,但是“directionsRenderer”呢? 如何将响应['路线']应用到地图?

我在官方文档中看不到任何示例,也没有 JS 的客户端库。

javascript google-maps routes
1个回答
0
投票

Google Maps JavaScript API 目前不提供 Routes API servicerenderer 来直接显示路线;似乎还没有,所以您可以提交功能请求

目前,您需要从 JavaScript 或通过您自己的服务器查询 Routes API Web 服务端点(REST 或 gRPC)。最近在路由 API 文档中添加了一些示例:

为了方便从服务器应用程序查询路由 API,路由 API 客户端库可用于 JavaGoNode.jsPython.Net

建议的方法是构建客户端应用程序,以便它们调用您自己的服务器,让您的服务器查询路由 API,并保护您的服务器,以便只允许您的应用程序查询它们(例如使用Firebase App Check) .

直接从用户可见的 JavaScript 代码查询路由 API 时,API 密钥应受到严格限制

  • 限制 API 密钥以允许必要的 HTTP Referers
  • 限制 API 每个用户的请求,以防止未经授权的使用和收费。
  • 将路由 API 的 JavaScript 使用与路由 API 的服务器端使用保持在单独的项目中,以便可以对(仅)在 JavaScript 应用程序中使用的项目应用较低的每用户限制。
  • 确保所有其他API密钥仅限于特定API,因此它们不能在路由API上使用。
© www.soinside.com 2019 - 2024. All rights reserved.