----------written by shenwenkai-------------

ubuntu linux环境下,按照网址(https://switch2osm.org/serving-tiles/building-a-tile-server-from-packages/提供的方式,执行至sudo /etc/init.d/renderd restart

打开http://localhost/osm/slippymap.html就可以看到样例图;但是如果不出意外,中文会出现方框,无法正常显示。

下面说明解决方法:

  • 1)安装unifont字体

sudo apt-get install unifont

  • 2)修改/etc/mapnik-osm-data/inc/fontset-settings.xml.inc的内容为:

<!--Settings for Mapnik Fonts

To see the fonts you have installed with Mapnik do:

ls `python -c "import mapnik;print mapnik.fontscollectionpath"`-->

<FontSet name="book-fonts">

  <Font face-name="unifont Medium" />

</FontSet>

<FontSet name="bold-fonts">

  <Font face-name="unifont Medium" />

</FontSet>

<FontSet name="oblique-fonts">

  <Font face-name="unifont Medium" />

</FontSet>

修改/etc/renderd.conf的内容为:

[renderd]

stats_file=/var/run/renderd/renderd.stats

socketname=/var/run/renderd/renderd.sock

num_threads=4

tile_dir=/var/lib/mod_tile ; DOES NOT WORK YET

[mapnik]

plugins_dir=/usr/lib/mapnik/2.0/input

font_dir=/usr/share/fonts/truetype/unifont

font_dir_recurse=true

[default]

URI=/osm/

XML=/etc/mapnik-osm-data/osm.xml

DESCRIPTION=This is the standard osm mapnik style

;ATTRIBUTION=&copy;<a href=\"http://www.openstreetmap.org/\">OpenStreetMap</a> and <a href=\"http://wiki.openstreetmap.org/w\

iki/Contributors\">contributors</a>, <a href=\"http://creativecommons.org/licenses/by-sa/2.0/\">CC-BY-SA</a>

;HOST=tile.openstreetmap.org

;SERVER_ALIAS=http://a.tile.openstreetmap.org

;SERVER_ALIAS=http://b.tile.openstreetmap.org

;HTCPHOST=proxy.openstreetmap.org

  • 3)修改/etc/mapnik-osm-data/osm.xml的关键词,把配置文件中的FontSet name="bold-fonts"等字体集设置全部改为字符类型设置face-name="unifont Medium"。
  • 4)删除缓存文件 sudo rm -rf /var/lib/mod_tile/default/*

再次打开,中文名称应该就可以正常显示了。

附加:

可以根据如下命令的运行情况,来判断mapnik是否正确运行。

sudo su www-data

$ renderd –f

renderd[26014]: Rendering daemon started

renderd[26014]: Parsing section renderd

renderd[26014]: Parsing render section 0

renderd[26014]: Parsing section mapnik

renderd[26014]: Parsing section default

renderd[26014]: config renderd: unix socketname=/var/run/renderd/renderd.sock

renderd[26014]: config renderd: num_threads=4

renderd[26014]: config renderd: num_slaves=0

renderd[26014]: config renderd: tile_dir=/var/lib/mod_tile

renderd[26014]: config renderd: stats_file=/var/run/renderd/renderd.stats

renderd[26014]: config mapnik:  plugins_dir=/usr/lib/mapnik/2.0/input

renderd[26014]: config mapnik:  font_dir=/usr/share/fonts/truetype/unifont

renderd[26014]: config mapnik:  font_dir_recurse=1

renderd[26014]: config renderd(0): Active

renderd[26014]: config renderd(0): unix socketname=/var/run/renderd/renderd.sock

renderd[26014]: config renderd(0): num_threads=4

renderd[26014]: config renderd(0): tile_dir=/var/lib/mod_tile

renderd[26014]: config renderd(0): stats_file=/var/run/renderd/renderd.stats

renderd[26014]: config map 0:   name(default) file(/etc/mapnik-osm-data/osm.xml) uri(/osm/) htcp() host()

renderd[26014]: Initialising unix server socket on /var/run/renderd/renderd.sock

renderd[26014]: Created server socket 5

renderd[26014]: Renderd is using mapnik version 2.0.0

renderd[26014]: DEBUG: Loading font: /usr/share/fonts/truetype/unifont/unifont.ttf

Running in foreground mode...

renderd[26014]: Starting stats thread

switch2osm使用open street map离线地图中文乱码方框解决办法的更多相关文章

  1. C#中WebClient使用DownloadString中文乱码的解决办法

    原文:C#中WebClient中文乱码的解决办法 第一次尝试: string question = textBox1.Text.ToString(); WebClient client= new We ...

  2. 详解get请求和post请求参数中文乱码的解决办法

    首先出现中文乱码的原因是tomcat默认的编码方式是"ISO-8859-1",这种编码方式以单个字节作为一个字符,而汉字是以两个字节表示一个字符的. 一,get请求参数中文乱码的解 ...

  3. Source Insight 4 中文乱码的解决办法(source insight 3.5 及以下版本就到其他地方看看吧)

    干货:Source Insight 4 中文乱码的解决办法(source insight 3.5 及以下版本就到其他地方看看吧) [解决办法]: 菜单栏中[File]->[Reload As E ...

  4. IDEA使用maven构建时控制台中文乱码的解决办法

    使用maven clean install 项目时控制台中文乱码,解决办法如下: Setting->maven->runner VMoptions: -Dfile.encoding=UTF ...

  5. resin后台输出中文乱码的解决办法!

    resin后台输出中文乱码的解决办法! 学习了:https://blog.csdn.net/kobeguang/article/details/34116429 编辑conf/resin.con文件: ...

  6. php使用curl获取文本出现中文乱码的解决办法

    在使用php的curl获取远程html文本时出现了中文乱码. 解决办法的代码如下: $url = "www.ecjson.com";//获取页面内容$ch = curl_init( ...

  7. get请求和post请求参数中文乱码的解决办法

    get请求参数中文乱码的解决办法 在tomcat的server.xml里的Connector加个URIEncoding="UTF-8",把 <Connector connec ...

  8. Windows 2012 中文乱码的解决办法

    背景:服务器安装2012 R2英文环境,软件为中文显示.已下载中文语言包安装到服务器上 现象:TXT文档的中文在服务器上打开显示为乱码,复制到本地电脑上可正常显示 解决办法:控制面板-语言-更改日期. ...

  9. Keil µVision4 中出现中文乱码的解决办法

    首先得说一下,以前都没有遇到过类似的问题,但是看到有个同学曾经满篇的乱码那叫个心疼. 这里我所说的办法其实只是格式转换的问题,对于其他原因造成的,可能会在以后遇到的时候再来处理了.另外,在将代码文件转 ...

随机推荐

  1. iOS cookie问题

    获取cookie时汉字应转换为UTF8格式

  2. C语言中的变量

    1. 计算机需要处理数据 2.数据需要保存在存储器上 3. 计算机只能识别0或者1的二进制数据 4.我们看到的,用到的所有数据在计算机中都是以二进制存储的 5.内存中的相同的01二进制数据,以不同的编 ...

  3. OC中的面向对象语法

    一. 面向对象和面向过程思想 OC是面向对象的,C是面向过程的.面向对象和面向过程只是解决问题的两种不同思想 1. 面向对象和面向过程的区别 1) 以用电脑听歌为例子 a) 面向过程 打开电脑 播放电 ...

  4. Nutz中那些好用的工具类

    Nutz 是国产的精品开源框架,它全无依赖,只以1兆多的身材,就可以实现SSH全部功能的90%以上.内容主要涵盖了:Ioc.Aop.MVC.Dao.Json等WEB开发的方方面面.  它不仅轻巧,而且 ...

  5. jquery bootgrid 一个很好的 数据控件,可用于任何语言

    http://www.jquery-bootgrid.com/Examples#command-buttons 效果很好,http://www.open-open.com/lib/view/open1 ...

  6. Maven在Windows上的安装与配置

    下载Maven 1.进入Maven官网下载:maven.apache.org(点击进入或复制浏览器地址栏,回车进入) 注意事项:需要大家要注意的是(截至目前2015年12月1日)最新版本的Maven3 ...

  7. AS与.net的交互——加载web上的xml

    最近搞了个私活,需要用as去加载一个网站的xml,不过本人as也不咋滴,就去看看怎么玩,看完之后也蛮简单的. 由于业务上比较复杂,就随便说个小例子吧. 很多时候,为了页面区域更加灵活,生动,有吸引力, ...

  8. RabbitMQ入门教程——安装及配置

    RabbitMQ是一个消息代理,一个消息系统的媒介,提供了一个通用的消息发送及接收平台,并且能够保障消息传输过程中的安全.使用erlang语言开发,开源,在易用性.扩展性.高可用性等方面表现不俗 技术 ...

  9. Ambari工具之认识学习01

    随着大数据的越发流行,大大小小的互联网公司都开始参与一些大数据相关的业务,都想从中分一杯羹.Hadoop是大数据的典型代表,也可以说现在的领头大哥,很多互联网巨头都在使用hadoop,包括BAT等大公 ...

  10. CCommandManager 类

    CCommandManager类 CCommandManager 类管理命令及其与图像的关联.描述CCommandManager :: CleanUp从命令列表和全局和用户映射中删除所有元素.CCom ...