0. 先看效果
这个地图是基于jvectormap.com制作的。地图制作,需要在hexo博客目录source路径下新建footprint文件夹。
1. 依赖下载
将jvectormap的依赖js代码和css代码下载到文件根目录。
文件路径结构形如:
1 2 3 4 5 6 7 8 9
| - source - _post - _data - footprint - index.html - jquery-jvectormap-2.0.5.css - jquery-jvectormap-2.0.5.min.js - jquery-jvectormap-europe-mill.js - jquery.min.js
|
jquery-jvectormap下载地址在:https://jvectormap.com/download/
jquery可到jsdeliver搜索下载。
矢量地图下载地址:https://jvectormap.com/maps/world/europe/,
本文以欧洲地图jquery-jvectormap-europe-mill.js 为例。
2. 地图制作
在index.html中编辑地图
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| <!DOCTYPE html> <html>
<head> <title>jVectorMap demo</title>
</head>
<body> <div id="map" style="width: 600px; height: 400px"></div> <script src="footprint/jquery.min.js"></script> <link rel="stylesheet" href="footprint/jquery-jvectormap-2.0.5.css" /> <script src="footprint/jquery-jvectormap-2.0.5.min.js"></script> <script type="text/javascript" src="footprint/jquery-jvectormap-europe-mill.js"></script> <script> $(function () { $('#map').vectorMap({ map: 'europe_mill', markerStyle: { initial: { fill: '#F8E23B', stroke: '#383f47' } }, backgroundColor: '#383f47', markers: [ { latLng: [68.350273, 18.830460], name: 'Abisko, Sweden' }, { latLng: [35.1746503, 33.3638783], name: 'Nicosia, Nicosia District, Cyprus' }, ] }); }); </script> </body>
</html>
|
latLng变量是经纬度,可在网上搜索地址转经纬度的办法。
3. 博客配置
制作好地图之后,需要修改地图配置文件,来防止html代码被渲染。
打开博客根目录下的_config.yml文件,
修改skip_render的内容:
1 2
| skip_render: - 'footprint/**/*'
|
4. 引用足迹地图
在配置好步骤三之后,部署的博客,应当可以使用https://yourblogsite.com/footprint的形式网址访问到地图了。
此时可以在任意post或者page直接通过添加html iframe代码嵌入地图到markdown文本中,例如,在我的about.md,关于页面的文件里,我在我想要嵌入的位置添加代码:
1
| <iframe style="max-width: 100%" frameborder="no" border="0" marginwidth="0" marginheight="0" width="100%" height="400px"src="/footprint"></iframe>
|
部署后的页面如下:https://blog.sci.ci/about
5. 参考
《Getting started》
《Hexo添加jVectorMap足迹地图》