我想使用离线路由功能,所以我下载了我所在地区的MapPackage。我知道下载进展顺利,因为我可以离线缩放该地区的城镇,并显示所有细节。
但是当我尝试在这个区域上计算路由时,它不起作用,我没有收到任何错误消息。永远不会调用onCalculateRouteFinished回调。
我正在使用RouteManager#calculateRoute方法(与在线计算一样)。我应该使用其他东西来使其有效吗?
我正在使用评估许可证,是否相关?
谢谢
编辑回答marco的评论:
我在法国/欧洲使用“bretagne”地区。
RouteOptions ro = new RouteOptions();
ro.setTransportMode(RouteOptions.TransportMode.TRUCK);
ro.setRouteType(RouteOptions.Type.FASTEST);
RoutePlan routePlan = new RoutePlan();
routePlan.setRouteOptions(ro);
-- addWaypoint (coord) called several times. all coords are in the bretagne region --
RouteManager routeManager = new RouteManager();
routeManager.calculateRoute(routePlan, new RouteManager.Listener(){
@Override
public void onProgress(int i) {
//Log.d(TAG, "progress " + index + ": " + i);
}
@Override
public void onCalculateRouteFinished(RouteManager.Error error, List<RouteResult> list) {
if (error != RouteManager.Error.NONE) {
Log.e(TAG, "Could not calculate route: " + error.name());
return;
}
if (list != null && list.size() > 0) {
-- do something with result --
}
}
答案 0 :(得分:2)
使用TransportMode.CAR而不是TRUCK修复了问题。正如marco在评论中所述,离线路由仅适用于汽车。