Android(安卓)解决离线路由GraphHopper 偏僻位置导航失败 抛出PointNotFoundException:Cannot find point 错误
16lz
2021-01-26
GraphHopper使用离线路线规划很容易出现规划失败,特别是偏离城市的区域。
解决方式就是初始化的时候:
1.设置精确度为一百万。值越大越好,目前来看 一百万就够了。
GraphHopper graphHopper = new GraphHopper().forMobile(); graphHopper.setPreciseIndexResolution(1000000);
2.在graphHopper.load(路网数据路径)初始化后,在设置最大搜索区域
LocationIndex locationIndex = graphHopper.getLocationIndex();if (locationIndex instanceof LocationIndexTree){ ((LocationIndexTree) locationIndex).setMaxRegionSearch(40);}
这样就ok了。
protected LocationIndex createLocationIndex(Directory dir) { LocationIndexTree tmpIndex = new LocationIndexTree(this.ghStorage, dir); tmpIndex.setResolution(this.preciseIndexResolution); tmpIndex.setMaxRegionSearch(this.maxRegionSearch); if (!tmpIndex.loadExisting()) { this.ensureWriteAccess(); tmpIndex.prepareIndex(); } return tmpIndex; }
这个方法是GraphHopper类里面的,preciseIndexResolution和maxRegionSearch这两个参数控制离线道路规划搜索范围。
更多相关文章
- Android(安卓)kotlin网络请求框架fuel(简单方便的使用,提供项目中
- media server分析
- 01 android环境搭建
- ArcGIS for Android示例解析之离线地图-----LocalTiledLayer
- Android的init过程:初始化语言(init.rc)解析
- Android(安卓)Camera2.0 结合ImageReader拍照并解决图片偏转问题
- 快速实现android手机端多人视频会议直播(免费)
- android studio3.1.2 gradle升级的坑以及android studio卡顿调优
- 解决android opengl glReadPixels 慢的问题一