Карта — это тип [[Виды|представления]], который можно использовать в [[Введение в Базы|Базах]]. Для его работы необходимо установить [плагин Maps](obsidian://show-plugin?id=maps). Выберите ![[lucide-map.svg#icon]] **Карта** в меню представлений, чтобы отобразить файлы на интерактивной карте с маркерами для каждого файла и превью, отображающим свойства этого файла. ![[bases-map-places.png#interface]] ## Установка плагина Maps Представление «Карта» требует Obsidian 1.10. [Плагин 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-значение: hex, RGB, именованный цвет и т.д. | | `tags` | `places` | Тег, который мы будем использовать для поиска маркеров на карте в нашей базе. | Теперь создайте представление «Карта» с фильтром по тегу `places` и задайте координаты маркера, значок и цвет, используя свойства, перечисленные выше. Вы также можете открыть эти [примеры файлов](https://github.com/obsidianmd/obsidian-maps/tree/master/examples) в Obsidian, чтобы увидеть готовые представления карты с уже настроенными маркерами, значками и цветами. ## Настройки Настройки представления «Карта» можно изменить в [[Виды#Настройки представления|настройках представления]]. - Высота встраивания - Координаты центра - Ограничения масштабирования - Координаты, цвет и значок маркера - Фон ### Маркеры #### Координаты Чтобы отобразить маркеры на карте, перейдите в [[Виды#Настройки представления|настройки представления]] и выберите свойство **координат маркера**. Свойство должно содержать координаты широты и долготы. Поддерживаются следующие форматы: ```yaml # Текстовое свойство coordinates: "lat, lng" # Свойство-список coordinates: - "lat" - "lng" ``` Если вы храните координаты в отдельных свойствах `latitude` и `longitude`, их можно объединить с помощью свойства-[[Синтаксис Баз#Формулы|формулы]], определив его как массив координат с помощью следующей формулы: `[latitude, longitude]`. #### Значки Добавляйте значки к маркерам, задав свойство **значков маркера**. Например, вы можете добавить в заметки свойство `icon` со значениями вроде `landmark` или `utensils` из встроенной в Obsidian [библиотеки Lucide](https://lucide.dev/icons/). ##### Использование формулы для определения значков Допустим, вы хотите, чтобы все рестораны имели одинаковый значок на карте: 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-адресов тайлов, включая TileJSON URL. [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-запросы.