问题排查

错误

如果发生错误,系统将返回标准格式的错误响应正文 并且 HTTP 状态代码会被设置为错误状态。

响应包含一个具有单个 error 对象(具有以下内容)的对象 键:

  • code:这与响应的 HTTP 状态相同。
  • message:错误的简短说明。
  • status:指示错误性质的状态代码。

例如,发送无效的 placeId 参数将返回以下内容 错误:

{
  "error": {
    "code": 400,
    "message": "\"placeId\" value is malformed: \"aChIJqaknMTeuEmsRUYCD5Wd9ARM\"",
    "status": "INVALID_ARGUMENT"
  }
}

可能的错误包括:

代码 状态 消息 问题排查
400 INVALID_ARGUMENT 您提供的密钥无效。 您的 API 密钥无效或未包含在请求中。 请确保您已添加完整的密钥,并且 已为此密钥启用 API。
400 INVALID_ARGUMENT “\路径\”参数包含无效值:“☃” 您的请求包含无效参数。最可能的 以下错误:
  • 您的“path”参数存在问题。
    请确保您拥有的至少 1 个,但少于 100 个 积分。每个点都应是一对以英文逗号分隔的数字, 例如 48.409114,-123.369158。积分应为 使用竖线“|”分隔。
  • 您的请求包含无效的placeId
  • 您的请求同时包含 placeIdpath。只能为以下参数指定其中一个参数: 。

如果传递了 placeId,则不会返回此错误。 (对于已不存在的公路,或不属于公路的地点)。

403 PERMISSION_DENIED 未注册的请求已被阻止。请使用 Google Developers 进行注册 控制台。 由于以下一种或多种原因,请求遭拒:
  • API 密钥缺失或无效。
  • 您的账号尚未启用结算功能。
  • 超出了您设定的用量上限。
  • 提供的付款方式已失效(例如, 信用卡已过期)。

为了使用 Google Maps Platform 产品,您必须在以下应用中启用结算功能: 并且所有请求都必须包含有效的 API 密钥。要解决此问题, 请按以下步骤操作:

404 NOT_FOUND 此服务要求使用 HTTPS。 确保您将请求发送到 https://roads.googleapis.com/ 且不是 http://roads.googleapis.com/
429 RESOURCE_EXHAUSTED 由于达到项目请求限制,请求受到限制。 您已超出在 Google Cloud Platform Console。此限制通常设置为请求数 每日请求数、每 100 秒请求数和每位用户每 100 秒请求数。 此限制应配置为防止出现一次或一组 这样用户就可以避免用尽您的每日配额 对所有用户进行访问的权限。请参阅限制 API 用量 来配置这些限制

指数退避算法

当请求失败时,您应确保使用指数 退避时间。例如,如果请求失败一次,则在 1 秒后重试 失败后重试,然后是四秒后重试,依此类推。这个 可确保中断的请求或大规模故障不会因造成 Google 的 因为许多客户端会非常快速地重试请求。

问题排查常见问题解答

植入问题

我应该以何种频率对我的车辆位置信息进行采样?
建议每隔 1-10 秒,以获得高质量的道路拍摄结果。
每次查询发送的积分数量是否有限制?
可以。一个查询最多可以有 100 个积分。
我应该使用多大的精度来存储已贴靠的纬度/经度 配对?
为了确保在各缩放级别下,精确覆盖的路径都沿着道路始终显示,即使在某个缩放级别下, 最大缩放级别,则应该将捕捉的纬度/经度对存储在 7 精度的小数位。
我能否使用编码多段线显示吸附路径?
指定的编码多段线只能精确到小数点后 5 位, 这将产生大约 2 米的误差因此,编码多段线 如果您希望沿高缩放级别的道路沿道路行驶,则 此选项不适用 级别。

常见问题

有些点未贴靠,或者贴靠路径之间存在间隙。如何 我要更正吗?
  • 如果按定时间隔对点进行采样,请确保您的点 以较短的时间间隔(每 1-10 秒)采样。如果使用较长的时间间隔 (例如 60 秒),“沿实际道路”算法可能无法 能够足够精确地确定行驶的道路。
  • 如果您通过手动点击地图来创建点, 创建包含少量点或稀疏点的路径 则无法正常处理贴靠算法最适用于 紧挨在一起。尝试对准目标 道路演示或使用道路 检查器来测试您的路径。
为什么我在我使用地图时,沿实际道路的道路呈锯齿状, 放大?
  • 您是否要截断贴靠的纬度/经度对的精度 然后再进行展示?将捕捉的纬度/经度对存储在 精度小于 7 位小数会导致精度错误, 地图上即会显示已贴靠路径。
  • 您是否使用了编码多段线?编码多段线被截断 纬度/经度对精确到小数点后 5 位,这样会产生错误 导致线条呈锯齿状或略微偏离 高缩放级别的道路。

如果不属于上述任何一种情况,那么地图图块可能已更新 导致它们与用于 贴靠。如果只有少数查询受到影响,这可能是 原因。Google 地图会定期更新,因此偶尔会发生上述情况。 如果您经常查看地图上的旧路径(例如, 例如几周前截取的路径)。为了实现最佳的可视化效果 在地图上显示旧路径之前应该重新捕捉这些路径 最大程度地减少地图图块和用于 贴靠。

哪些原因可能导致 X 号公路的限速显示不正确?
速度限制来自多个来源,在准确性和覆盖范围方面不尽相同。 如果您发现了某种模式,例如特定道路类型的限速或 特定方面始终出错,请按照以下步骤操作 告知我们:
  1. 在桌面设备上打开 Google 地图;或打开 Google 地图应用 Android。
  2. 打开左侧菜单。
  3. 选择发送反馈。注意:系统可能会提示您登录。
  4. 选择修改地图
  5. 选择您要修改的路段。
  6. 选择下一步
  7. 在“其他”列字段中,表示该道路的速度限制有误。
  8. 选择提交
。 您还可以在此处报告其他问题(例如,如果道路 名称不正确、绘制不正确、已关闭或属于私人所有)。
为什么我截取的路径会切角,而不是沿着道路前进?
若要解决此问题,请检查以下各项: <ph type="x-smartling-placeholder">
    </ph>
  • 确保将 interpolate 参数设置为 true
  • 检查原始数据点的抽样间隔时间是否足够接近 (每 1-10 秒)。
为什么在某一段的吸附路径中返回了很多路段 限速无变化的路段?
interpolate 参数设置为 true 时, Snap-to-Road 查询会返回一条沿着拐角处道路的多段线, 弯道和交通环岛如果道路弯曲,则有多个路段 这样才能创建多段线,即使速度限制未发生变化, 道路的几何图形。