نقشه یک نوع [[نماها|نما]] است که میتوانید در [[معرفی پایگاهها|پایگاهها]] استفاده کنید. نیاز به نصب [افزونه Maps](obsidian://show-plugin?id=maps) دارد.
از منوی نما، ![[lucide-map.svg#icon]] **Map** را انتخاب کنید تا فایلها به صورت نقشه تعاملی با نشانگرها برای هر فایل و پیشنمایشی که ویژگیهای آن فایل را نمایش میدهد، نشان داده شوند.
![[bases-map-places.png#interface]]
## نصب افزونه Maps
نماهای نقشه نیاز به Obsidian نسخه ۱.۱۰ دارند. [افزونه Maps](obsidian://show-plugin?id=maps) یک [[افزونههای انجمن|افزونهٔ انجمن]] رسمی است که میتوانید به صورت جداگانه بارگیری کنید.
1. دستورالعملهای [[افزونههای انجمن#نصب یک افزونه انجمن]] را دنبال کنید
2. [Maps](obsidian://show-plugin?id=maps) را از فهرست بارگیری و فعال کنید
## نمونه
برای شروع، یک یادداشت به نام **Eiffel Tower** بسازید و ویژگیهای زیر را در آن کپی کنید:
```yaml
---
coordinates:
- "48.85837"
- "2.294481"
icon: "landmark"
color: "red"
tags:
- places
---
```
معنای کد بالا به این شرح است:
| ویژگی | مقدار | |
| ------------- | ------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `coordinates` | `48.85837`<br>`2.294481` | مختصات به صورت `عرض جغرافیایی، طول جغرافیایی` ذخیره میشوند. میتوانید مختصات را با راستکلیک روی مکانی در نقشه و انتخاب **Copy coordinates** دریافت کنید. |
| `icon` | `landmark` | نام یک آیکون از [کتابخانه Lucide](https://lucide.dev/). |
| `color` | `red` | یک مقدار معتبر CSS: هگز، RGB، نام رنگ و غیره. |
| `tags` | `places` | برچسبی که برای یافتن نشانگرهای نقشه در پایگاه استفاده خواهیم کرد. |
حالا یک نمای نقشه با فیلتر برای برچسب `places` بسازید و مختصات نشانگر، آیکون و رنگ را با استفاده از ویژگیهای فهرستشده در بالا تنظیم کنید.
همچنین میتوانید این [فایلهای نمونه](https://github.com/obsidianmd/obsidian-maps/tree/master/examples) را در Obsidian باز کنید تا نماهای نقشه کارآمد با نشانگرها، آیکونها و رنگهای از پیش پیکربندیشده را ببینید.
## تنظیمات
تنظیمات نمای نقشه را میتوان در [[نماها#تنظیمات نما|تنظیمات نما]] پیکربندی کرد.
- ارتفاع درون خطی
- مختصات مرکز
- محدودیتهای بزرگنمایی
- مختصات نشانگر، رنگ و آیکون
- پسزمینه
### نشانگرها
#### مختصات
برای نمایش پینها روی نقشه، به [[نماها#تنظیمات نما|تنظیمات نما]] بروید و یک ویژگی **marker coordinates** انتخاب کنید. ویژگی باید حاوی مختصات عرض و طول جغرافیایی باشد. قالبهای زیر پذیرفته میشوند:
```yaml
# ویژگی متنی
coordinates: "lat, lng"
# ویژگی فهرستی
coordinates:
- "lat"
- "lng"
```
اگر مختصات را به صورت ویژگیهای جداگانه `latitude` و `longitude` ذخیره میکنید، میتوانید آنها را با یک ویژگی [[سینتکس پایگاهها#فرمولها|فرمول]] ترکیب کنید و آن را به عنوان آرایهای از مختصات با فرمول زیر تعریف کنید: `[latitude, longitude]`.
#### آیکونها
با تعریف یک ویژگی **marker icons** به نشانگرها آیکون اضافه کنید. برای مثال، میتوانید یک ویژگی به نام `icon` به یادداشتهایتان اضافه کنید و مقادیری مانند `landmark` یا `utensils` را از [کتابخانه Lucide](https://lucide.dev/icons/) داخلی Obsidian به آن بدهید.
##### استفاده از فرمول برای تعریف آیکونها
فرض کنید میخواهید همه رستورانها آیکون یکسانی روی نقشه داشته باشند:
1. یادداشتی به نام **Restaurants** بسازید و ویژگیای به نام `icon` با مقدار `utensils` اضافه کنید.
2. به یادداشتهای رستوران ویژگیای به نام `type` بدهید که به یادداشت `[[Restaurants]]` پیوند داشته باشد.
3. یک ویژگی فرمول به نام `Type icon` به پایگاهتان اضافه کنید با کد زیر:
```js
list(type)[0].asFile().properties.icon
```
4. `Type icon` را به عنوان آیکون نشانگر در تنظیمات نما انتخاب کنید.
بفرمایید! حالا نقشه شما آیکونها را بر اساس *نوع* مکان نمایش میدهد، نه خود مکان.
#### رنگها
رنگ نشانگرها را تنظیم کنید. مقادیر به صورت RGB `rgb(0,0,0)`، HEX `#000` یا متغیرهای CSS مانند `var(--color-blue)` پذیرفته میشوند. مانند مثال آیکون بالا، میتوانید از یک ویژگی فرمول برای تعریف پویای رنگها استفاده کنید.
### پسزمینه
#### کاشیهای نقشه
کاشیهای نقشه روش استانداردی برای نمایش نقشههای دیجیتال هستند. سرویسهای متعددی وجود دارند که میتوانید از آنها برای سفارشیسازی نقشهها با سبکها، رنگها و قلمهای منحصربهفرد استفاده کنید. Maps هم کاشیهای رستری و هم برداری را پشتیبانی میکند و بیشتر URLهای کاشی از جمله URLهای TileJSON را میپذیرد.
[OpenFreeMap](https://openfreemap.org/) چند سبک ارائه میدهد که میتوانید به صورت رایگان استفاده کنید. یکی از URLهای زیر را در تنظیمات **Map tiles** امتحان کنید:
| نام | URL |
| -------- | ------------------------------------------------ |
| Dark | `https://tiles.openfreemap.org/styles/dark` |
| Positron | `https://tiles.openfreemap.org/styles/positron` |
| Liberty | ``https://tiles.openfreemap.org/styles/liberty`` |
#### پیوندهای مفید
- [Maputnik](https://maputnik.github.io/) برای سفارشیسازی کاشیهای نقشه.
- [Protomaps](https://protomaps.com/) برای میزبانی شخصی کاشیهای نقشه.
- سرویسهای میزبانی دیگر با سطح رایگان شامل [MapTiler](https://www.maptiler.com/) و [Mapbox](https://www.mapbox.com/).
## نکات
میتوانید با استفاده از [[فرمولها]] به سرویسهای محبوب نقشه پیوند دهید. برای مثال پین شما میتواند پیوندی به Google Maps با فرمول زیر نمایش دهد:
```js
link("https://www.google.com/maps/search/" + file.name.replace(" ","+"),"Google Maps")
```
## عیبیابی
اگر نقشه هنگام بارگذاری اولیه افزونه Maps خالی به نظر میرسد، [[بهروزرساندن Obsidian|نسخه نصبکننده Obsidian را بهروزرسانی کنید]].
[افزونه Maps](https://github.com/obsidianmd/obsidian-maps) منبعباز است. میتوانید با ارسال گزارش باگ، درخواست ویژگی و pull request کمک کنید.