原网页:
https://github.com/Project-OSRM/osrm-frontend
https://github.com/Project-OSRM/osrm-backend
搭建本地的OSRM要装两个工具,osrm-frontend和核心的osrm-backend后台。后台是必须的,前台提供routing可视化方便debug。如果有看不懂的地方可以去github原页面查看。
先装复杂的osrm-backend
:
途中查看安装情况,保证没有error。有error及时排查。
- 从github上获得源代码:
git clone https://github.com/Project-OSRM/osrm-backend.git
- 安装dependencies:
sudo apt install build-essential git cmake pkg-config \
libbz2-dev libxml2-dev libzip-dev libboost-all-dev \
lua5.2 liblua5.2-dev libtbb-dev
换行的""符号去掉,写成一行,在terminal执行。也随意可分多行执行。
- 然后cd到
osrm-backend
文件夹,编译安装osrm binaries:
mkdir -p build
cd build
cmake ..
cmake --build .
sudo cmake --build . --target install
- 安装node.js bindings
npm install osrm
- 将地图文件 ( .pbf) 导入osrm
示例:在地图文件map.pbf路径下
osrm-extract map.pbf -p ../osrm-backend/profiles/bicycle.lua
osrm-contract map.osrm
osrm-routed map.osrm
前两句通过地图文件选择导航类型并生成osrm格式文件
第三句启动osrm服务器
如果得到osrm在0.0.0.0:5000
启动的信息,就成功了。
接下来安装osrm-frontend
,可以直观的验证backend是否生效。
- 从github上获得源代码:
git clone https://github.com/Project-OSRM/osrm-frontend.git
- 安装dependencies
npm install
- 配置后端,可以与我们之前的osrm-backend连接
在osrm-frontend
下的src/leaflet_options.js
里修改:
services: [{
label: 'Car (fastest)',
path: 'http://localhost:5000/route/v1'
}],
把path改成想要的url即可。