نقشه یک نوع [[نماها|نما]] است که می‌توانید در [[معرفی پایگاه‌ها|پایگاه‌ها]] استفاده کنید. نیاز به نصب [افزونه 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 کمک کنید.