惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

SecWiki News
SecWiki News
I
InfoQ
The Cloudflare Blog
人人都是产品经理
人人都是产品经理
博客园 - Franky
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
博客园_首页
罗磊的独立博客
V
V2EX
李成银的技术随笔
大猫的无限游戏
大猫的无限游戏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
True Tiger Recordings
Vercel News
Vercel News
Cyberwarzone
Cyberwarzone
Cisco Talos Blog
Cisco Talos Blog
F
Fox-IT International blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
M
Microsoft Research Blog - Microsoft Research
Know Your Adversary
Know Your Adversary
爱范儿
爱范儿
The Register - Security
The Register - Security
G
Google Developers Blog
The Hacker News
The Hacker News
Malwarebytes
Malwarebytes
S
Securelist
博客园 - 三生石上(FineUI控件)
Jina AI
Jina AI
T
Threat Research - Cisco Blogs
T
The Exploit Database - CXSecurity.com
S
SegmentFault 最新的问题
博客园 - 叶小钗
F
Fortinet All Blogs
Apple Machine Learning Research
Apple Machine Learning Research
宝玉的分享
宝玉的分享
博客园 - 聂微东
T
Threatpost
博客园 - 【当耐特】
D
Docker
P
Privacy & Cybersecurity Law Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
G
GRAHAM CLULEY
V
Visual Studio Blog
C
Cisco Blogs
IT之家
IT之家
S
Security Archives - TechRepublic
Latest news
Latest news
阮一峰的网络日志
阮一峰的网络日志

无数

几何布朗运动下股票价格涨超/跌超50%概率计算步骤 两款软件助你方便调节 Windows 外接显示器亮度 iBasso DC07Pro 对比 EPZ TP55 从 Apple watch S4 升级到 S10 的使用体验 自己动手给 FiiO Q5s Type-C 版本更换电池 2025年9月底,265K+5080装机历程及体验 HomeAssistant 中使用 Vue 构建UI面板的简易方式 VuePress Toc 组件实现方案 推倒重构博客UI的要点记录
基于 MapBox 构建 VuePress 的旅行地图
晴和君 · 2024-08-15 · via 无数

静态博客下旅行地图的构建方式

发布于

基于 MapBox 构建 VuePress 的旅行地图

本文导览

约2分钟

基于 MapBox 构建 VuePress 的旅行地图

最早在 Fatesinger 上看到了旅行地图插件,目前插件只提供了 WordPress 版本。 其地图地点标记的功能类似于 iOS 和 Mac OS 相册中根据地点来查找照片的功能, 另外还提供了文章关联功能,方便访问者在文章中查看附近地点文章。

构建思路

静态博客只需在构建时生成好相关数据,便可实现类似效果:

  • 地点关联文章部分,在生成静态页面时计算完成相关距离数据,筛选相近地点进行保存;
  • 地图展示部分,同样在生成时输出 MapBox 所需的 GeoJSON 格式文件即可。

实现细节

  1. 文章标记:在文章的 frontmatter 中手动或者通过逻辑增加地点信息。
  2. 汇总所有带地点标记文章:按地点汇总对应文章,并查本地数据表(城市及对应的经纬度)获取地点经纬度信息。
  3. 计算城市间距离:根据城市地点经纬度,计算两两城市间距离,并保存每个城市临近城市信息。
  4. 获取地点相关文章:根据当前文章城市地点,获取临近城市对应文章,按距离排序输出即可。
  5. 地图数据生成:使用第2点的数据,转换并输出对应的GeoJSON格式文件即可。

使用方式

若为国内城市,只需在涉及地点的文章的 frontmatter 中,指定地点信息即可:

---
loc: 上海市
---

若在地点索引文件GeoLoc.json文件中未找到相关地点信息,或需要增加没有相关文章的标记点,则需要手动在ExtraLoc.json中进行维护:

{
  "台北市": {
    "loc": [
      121.5365,
      25.0192
    ],
    "posts": [],
    "img": "",
    "nearby": {}
  }
}

实现效果

  • 自动根据文章地点标签获取经纬度信息
  • 自动计算距离并获取站内相关地点文章
  • 可交互式地图标记展示
  • 可独立管理地点
  • 深色模式切换

预览地址:相关文章 旅行地图

更新日志

Todo 暂无

1.0.0 发布

© 商业转载请联系站长获得授权;
非商业转载请注明文章来源及链接。