【发布时间】:2022-08-08 13:12:15
【问题描述】:
我们正在尝试使用CoreRouter.calculateRoute(List<GeoCoordinate>, RouteOptions, Listener) 记录的here 方法从点列表中计算路线。点列表来自从 Google 地图导出的 GPX 文件。
请在此处查看谷歌地图上的原始路线 origin route (https://www.google.com/maps/d/u/0/edit?mid=1jlwfml-kg0QLW7vHB4aMw6pDjvTevHU&usp=sharing)
我们在 HERE MAP 中得到的结果是这样的: HERE Map result
我们将 Google Map 和 HERE Map 的路线点一一比较,发现该点在 Here map 上并不像在 Google map 上那样完美地位于道路上。请在此处查看比较:Comparison
积分列表:
<trkpt lat=\"37.3665039\" lon=\"-121.9179512\">
<name>TP0</name>
</trkpt>
<trkpt lat=\"37.3663126\" lon=\"-121.9178105\">
<name>TP1</name>
</trkpt>
<trkpt lat=\"37.3660126\" lon=\"-121.9175858\">
<name>TP2</name>
</trkpt>
<trkpt lat=\"37.3657063\" lon=\"-121.9173579\">
<name>TP3</name>
</trkpt>
<trkpt lat=\"37.3653819\" lon=\"-121.9171101\">
<name>TP4</name>
</trkpt>
<trkpt lat=\"37.3652228\" lon=\"-121.916993\">
<name>TP5</name>
</trkpt>
<trkpt lat=\"37.3653404\" lon=\"-121.9167218\">
<name>TP6</name>
</trkpt>
<trkpt lat=\"37.3657065\" lon=\"-121.9159425\">
<name>TP7</name>
</trkpt>
<trkpt lat=\"37.3659858\" lon=\"-121.9153481\">
<name>TP8</name>
</trkpt>
<trkpt lat=\"37.366333\" lon=\"-121.9146232\">
<name>TP9</name>
</trkpt>
<trkpt lat=\"37.3663824\" lon=\"-121.9145151\">
<name>TP10</name>
</trkpt>
<trkpt lat=\"37.3666919\" lon=\"-121.9139078\">
<name>TP11</name>
</trkpt>
<trkpt lat=\"37.366698\" lon=\"-121.9137683\">
<name>TP12</name>
</trkpt>
<trkpt lat=\"37.3666968\" lon=\"-121.913702\">
<name>TP13</name>
</trkpt>
<trkpt lat=\"37.3666941\" lon=\"-121.9136539\">
<name>TP14</name>
</trkpt>
<trkpt lat=\"37.3666879\" lon=\"-121.9136134\">
<name>TP15</name>
</trkpt>
<trkpt lat=\"37.3666756\" lon=\"-121.913573\">
<name>TP16</name>
</trkpt>
<trkpt lat=\"37.3666331\" lon=\"-121.913451\">
<name>TP17</name>
</trkpt>
<trkpt lat=\"37.3664775\" lon=\"-121.9133349\">
<name>TP18</name>
</trkpt>
<trkpt lat=\"37.3659049\" lon=\"-121.9129044\">
<name>TP19</name>
</trkpt>
<trkpt lat=\"37.3658757\" lon=\"-121.9129628\">
<name>TP20</name>
</trkpt>
有没有办法使用CoreRouter.calculateRoute(List<GeoCoordinate>, RouteOptions, Listener) 方法更准确地计算路线?
我们项目中的代码如下:
val TESTING_WAYPOINTS = arrayOf(
GeoCoordinate(37.3665039, -121.9179512),
GeoCoordinate(37.3663126, -121.9178105),
GeoCoordinate(37.3660126, -121.9175858),
GeoCoordinate(37.3657063, -121.9173579),
GeoCoordinate(37.3653819, -121.9171101),
GeoCoordinate(37.3652228, -121.916993),
GeoCoordinate(37.3653404, -121.9167218),
GeoCoordinate(37.3657065, -121.9159425),
GeoCoordinate(37.3659858, -121.9153481),
GeoCoordinate(37.366333, -121.9146232),
GeoCoordinate(37.3663824, -121.9145151),
GeoCoordinate(37.3666919, -121.9139078),
GeoCoordinate(37.366698, -121.9137683),
GeoCoordinate(37.3666968, -121.913702),
GeoCoordinate(37.3666941, -121.9136539),
GeoCoordinate(37.3666879, -121.9136134),
GeoCoordinate(37.3666756, -121.913573),
GeoCoordinate(37.3666331, -121.913451),
GeoCoordinate(37.3664775, -121.9133349),
GeoCoordinate(37.3659049, -121.9129044),
GeoCoordinate(37.366377, -121.9137508),
GeoCoordinate(37.3658757, -121.9129628),
)
// set route options
val mRouteOptions = RouteOptions().apply {
this.transportMode = RouteOptions.TransportMode.CAR
this.routeCount = navigationOptions.routeCount
this.routeType = navigationOptions.routeType
setTunnelsAllowed(navigationOptions.tunnelAllowed)
setTollRoadsAllowed(navigationOptions.tollAllowed)
setHighwaysAllowed(navigationOptions.highwaysAllowed)
setFerriesAllowed(navigationOptions.boatsAllowed)
setDirtRoadsAllowed(navigationOptions.dirtRoadsAllowed)
this.locale = Locale(\"en\")
})
fun calculateRoute(listener: CoreRouter.Listener) {
mCoreRouterListener = listener
// force using the preset waypoints
val presetWaypoints = TESTING_WAYPOINTS
for (p in presetWaypoints) {
Log.d(TAG, \"[TRACK]: ${p.latitude} ${p.longitude}\")
mRoutePoints.add(p)
}
mCoreRouter.calculateRoute(mRoutePoints, mRouteOptions, this)
}
-
你能分享一下代码sn-p吗?我们需要检查所有东西都传递给 CoreRouter.calculateRoute(List<GeoCoordinate>, RouteOptions, Listener)
-
@HEREDeveloperSupport,我在问题中添加了代码 sn-p 。你能看看吗?谢谢你。
标签: here-api heremaps-android-sdk heremaps-ios-sdk