HERE Api - 使用 iOS/Android SDK 和 REST API 的不同路由结果
Posted
技术标签:
【中文标题】HERE Api - 使用 iOS/Android SDK 和 REST API 的不同路由结果【英文标题】:HERE Api - Different route result using iOS/Android SDK and REST API 【发布时间】:2019-08-22 17:37:00 【问题描述】:我在使用移动 SDK 时遇到了一些路由和土路问题。 使用 REST api 的以下参数计算路由:
maneuverattributes:“方向,动作” 模式:“最快;汽车;土路:-3,boatFerry:0” 表示:“显示” routeattributes:“航路点、摘要、形状、腿” 航路点0:“37.277430,13.572681” 航路点 1:“37.287706,13.817110” waypoint2:“37.276359,14.097211” 航路点 3:“37.316294,14.130108” waypoint4:“37.368569,14.334077” waypoint5:“37.238077,14.512665” waypoint6:“37.230885,14.538092” waypoint7:“37.181701,14.772583” waypoint8:“37.162439,14.751674” waypoint9:“37.041651,14.795221” waypoint10:“36.926747,14.747216” waypoint11:“36.885887,14.686213” waypoint12:“36.837361,14.606543”
这是一个示例(替换您的应用 ID 和代码):
https://route.api.here.com/routing/7.2/calculateroute.json?waypoint0=37.277430%2C13.572681&waypoint1=37.287706%2C13.817110&waypoint2=37.276359%2C14.097211&waypoint3=37.316294%2C14.130108&waypoint4=37.368569%2C14.334077&waypoint5=37.238077%2C14.512665&waypoint6=37.230885%2C14.538092&waypoint7=37.181701%2C14.772583&waypoint8=37.162439%2C14.751674&waypoint9=37.041651%2C14.795221&waypoint10=36.926747%2C14.747216&waypoint11=36.885887%2C14.686213&waypoint12=36.837361%2C14.606543&mode=fastest%3Bcar%3Btraffic%3Aenabled%3BdirtRoad%3A-3&app_id=<YOUR APP ID>&app_code=<YOUR APP CODE>&departure=now
如果我设置dirtRoad:0
或dirtRoad:-3
,路线是一样的
使用移动 SDK(ios 或 android)我收到以下错误并且未计算路线:
“NMARoutingErrorViolatesOptions”
我将以下参数(与 REST 示例中使用的相同航点)传递给 NMACoreRouter.calculateRoute()
(以 iOS 为例)
let routingMode = NMARoutingMode()
routingMode.transportMode = .car
routingMode.routingType = .fastest
routingMode.routingOptions = NMARoutingOption.avoidDirtRoad;
删除NMARoutingOption.avoidDirtRoad
计算路线,但这样做我认为路线中包含土路。
这是一个错误?还是 iOS 选项 NMARoutingOption.avoidDirtRoad
与 REST dirtRoad:-3
不同?如何在两个平台上获得一致的结果?
【问题讨论】:
@HEREDeveloperSupport 你能帮帮我吗? 【参考方案1】:一般来说,HERE Routing REST API 和 HERE Mobile SDK 使用的算法和底层地图数据是不同的,因此路线形状总是存在差异。 HERE Routing REST API 和 HERE Mobile SDK 的地图更新周期也略有不同(每周与每月),不幸的是没有办法解决它。
【讨论】:
以上是关于HERE Api - 使用 iOS/Android SDK 和 REST API 的不同路由结果的主要内容,如果未能解决你的问题,请参考以下文章
限制 ajax API 对 iOS / Android 应用程序的使用
在使用 Firebase 身份验证的 Unity 项目中使用 Google Drive API
Web App (angular)、iOS 和 Android 可以使用的安全 RESTful API