Mapbox - 获取准确的道路路线以显示在地图上

Mapbox - Get an accurate road route to display on the map

当我们在长距离使用方向 api 时,我们注意到这些线并不完全在道路上,如下图所示:

来自: https://docs.mapbox.com/playground/directions/

坐标:-86.945145,40.090054;-88.26635,40.136585

我没有找到任何方法使路线 API return 成为更精确的路径,但我看到了匹配的 API 所以我想我可以使用我得到的路线从方向 API 并将其与道路相匹配。 问题是当我使用它时遇到错误:

"All coordinates are too far away from each other"

即使我尝试将路线分成两个坐标对,它仍然这么说。 https://docs.mapbox.com/api/navigation/#map-matching 中没有提到这样的限制。上面的坐标return那个错误。

那是我从方向 API 得到的坐标,所以我别无选择,只能使用它们,但它们与匹配 API 不兼容,所以我该怎么做才能获得准确的方向路径就在路上?

我考虑过在每对坐标之间添加中点,但在这些中点远离任何道路的情况下,这行不通。

有两种方法可以从方向API获得更精确的几何图形:

  • geometries: "polyline6"(获取小数点后6位精度的几何图形)
  • overview: "full"(在概览中包括完整的几何图形,而不仅仅是在路线中)

我认为使用这些可以解决您的问题。