用户需要在第三方插件市场中下载由Obsidian 官方开发的 Maps 插件方可在数据库中使用地图视图。
在数据库左上角的视图菜单中添加并选择 地图布局以创建一个新的地图视图,它能将文件显示在一张可交互的地图上,鼠标悬停其上时还可在小窗中预览该文件的属性。

示例
---
coordinates:
- "48.85837"
- "2.294481"
icon: "landmark"
color: "red"
tags:
- places
---
以上属性分别的含义如下表所示
| Property | Value | 解释说明 |
|---|---|---|
coordinates | 48.85837 2.294481 | 坐标以经度和维度表示,右键点击地图上的地点,执行“Copy coordinates”命令即可获取其坐标 |
icon | landmark | Lucide library.的图标名 |
color | red | CSS值:可使用 hex, RGB 或直接写出颜色名 |
tags | places | 数据库用以识别的标签 |
现在试着创建一个地图视图,筛选带有places标签的文件,并根据下文的设置项进行设置;也可在 Obsidian 中打开已经配置好的示例文件以熟悉用法
设置
点击视图名右侧箭头打开配置视图菜单,可对以下选项进行设置:
Markers
坐标
要在地图上显示地点,需要在设置中指定一个笔记属性以存放地点坐标,该属性必须同时包含地点的经度和维度信息,它既可是文字类型,也可以是列表类型:
# Text property
coordinates: "经度, 维度"
# List property
coordinates:
- "经度"
- "维度"
如果经度和维度数据分别储存在两个属性中,则可通过[latitude, longitude]这样的格式将其转化为一个公式属性
图标
要为地点添加图标,需要在设置中指定一个笔记属性,然后在 Obsidian 自带的 图标库中选择一个图标并为其赋值,例:icon: landmark
如何使用公式属性来赋值图标?比方说,用户现在想要为地图上的所有餐厅使用同一个图标,可以按照以下步骤进行:
- 创建一个名为“餐厅”的笔记,为其添加笔记属性
icon,为其赋值utensils - 为全部餐厅笔记添加笔记属性
type,为其赋值指向上面创建的“餐厅”笔记 - 为数据库添加公式属性
type icon,并为其赋值:list(type)[0].asFile().properties.icon - 在视图设置中将
type icon指定为存放图标的属性 - 现在地图视图将根据地点的类型显示图标,而非地点本身
颜色
- 要为地点设定颜色,需要在设置中指定一个笔记属性,然后根据RGB
rgb(0,0,0), HEX#000, 或 CSS 变量var(--color-blue)为其赋值 - 要为设置动态的颜色,可遵照上文图标的例子为数据库添加公式属性
背景
地图瓦片(map tiles)
地图瓦片是展现数字地图的标准方式,用户可自定义地图风格、颜色和字体,地图视图支持栅格瓦片和矢量瓦片,还支持更多瓦片 URL,包括 TileJSON URL
OpenFreeMap 提供了一些免费样式,下表中列举了一些,将其填入视图设置下的Map tiles空白栏即可应用:
| 名称 | 链接 |
|---|---|
| Dark | https://tiles.openfreemap.org/styles/dark |
| Positron | https://tiles.openfreemap.org/styles/positron |
| Liberty | https://tiles.openfreemap.org/styles/liberty |
除此之外,还有一些实用链接:
窍门
用户可通过公式链接热门地图服务,例:通过以下公式可显示谷歌地图的链接:link("https://www.google.com/maps/search/" + file.name.replace(" ","+"),"Google Maps")
讨论
若阁下有独到的见解或新颖的想法,诚邀您在文章下方留言,与大家共同探讨。
反馈交流
其他渠道
版权声明
版权声明:所有 PKMer 文章如果需要转载,请附上原文出处链接。