安装apache
sudo apt install apache2创建一个模块来加载文件
sudo nano /etc/apache2/mods-available/mod_tile.load粘贴下列代码到文件中
LoadModule tile_module /usr/lib/apache2/modules/mod_tile.so创建一个链接
sudo ln -s /etc/apache2/mods-available/mod_tile.load /etc/apache2/mods-enabled/编辑下列的初始配置
sudo nano /etc/apache2/sites-enabled/000-default.conf粘贴以下代码至文件中
LoadTileConfigFile /usr/local/etc/renderd.confModTileRenderdSocketName /var/run/renderd/renderd.sock#Timeout before giving up for a tile to be renderedModTileRequestTimeout 0#Timeout before giving up for a tile to be rendered that is otherwise missingModTileMissingRequestTimeout 30保存文件并重启Apache
sudo systemctl restart apache2 手动启动renderd执行下面命令,为启动renderd服务,启动起来之后,该命令不会自动结束,而是处于一直启动的状态,如果想看地图服务器是否搭建成功,请勿手动关闭该命令。
sudo -u 'osm' renderd -f -c /usr/local/etc/renderd.conf在网页浏览器中输入:your-server-ip/osm_tiles/0/0/0.png,如果出现了一张世界地图,说明搭建的服务器成功能,此时可以关闭该命令。
没有的话也不要紧,接着执行以下命令
通过拷贝mod_tile的init脚本安装renderd init脚本:
sudo cp mod_tile/debian/renderd.init /etc/init.d/renderd赋予权限
sudo chmod a+x /etc/init.d/renderd编辑init脚本文件
sudo vim /etc/init.d/renderd改变下列的变量值
DAEMON=/usr/local/曾经的含羞草/$NAMEDAEMON_ARGS="-c /usr/local/etc/renderd.conf"RUNASUSER=osm保存文件。
创建下列文件,使得osm可以操作这些文件
然后开始renderd service
sudo systemctl daemon-reloadsudo systemctl start renderdsudo systemctl enable renderd 使用leaflet显示滑动地图进入apache2目录
cd /var/www/html/然后从leftletjs.com下载JavaScript和CSS,并将其解压缩到Web根文件夹。
wget http://cdn.leafletjs.com/leaflet/v1.3.3/leaflet.zip解压
unzip leaflet.zip 没有unzip的话安装以下apt install unzip编辑apache2的主页,将其替换为一下代码,红色字体需要更换为服务器IP地址
sudo nano /var/www/html/index.html <html><head><title>My first osm</title><link rel="stylesheet" type="text/css" rel="external nofollow" href="leaflet.css"/><script type="text/javascript" src="leaflet.js"></script><style> #map{width:100%;height:100%}</style></head><body> <div id="map"></div> <script> var map = L.map('map').setView([53.555,9.899],5); L.tileLayer('http://your-ip/osm_tiles/{z}/{x}/{y}.png',{maxZoom:18}).addTo(map);</script></body></html> 查看瓦片地图保存并关闭文件。现在,可以通过在浏览器中输入服务器IP地址来查看滑动地图。
your-ip/index.html or your-ip如果在第十步中,提到的命令执行失败,此时需要手动开启渲染服务,进行预渲染或者即时渲染。
sudo -u 'osm' renderd -f -c /usr/local/etc/renderd.conf 预渲染地图要预渲染图块而不是即时渲染,请使用render_list命令。预渲染的图块将缓存在/ var/lib/mod_tile目录中。-z和-Z标志指定缩放级别。缩放级别最高为18级,级别越高所需时间越长,预渲染需要大量的时间。如果第十步中的最后一个命令执行失败,需要手动开启渲染服务,进行预渲染。预渲染可以随时停止,重新渲染时,会从你停止的地方继续开始渲染。
sudo -u 'osm' renderd -f -c /usr/local/etc/renderd.confrender_list -m default -a -z 0 -Z 10去掉边界线
编辑style.xml文件,找到admin和admin-outline,将边界线颜色做修改和海洋同色,修改红标颜色
修改海洋颜色,修改背景色
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE Map[]><Map srs="+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs +over" font-directory="./fonts" buffer-size="256" background-color="#b3dcdb" maximum-extent="-20037508.34,-20037508.34,20037508.34,20037508.34">以上操作 需要删除 /var/lib/mod_tile/default default文件
执行一下命令
清空浏览器缓存查看