Геокодирование
Версия: 1.26.0
OpenRemote включает поддержку геокодирования, которая позволяет искать адреса и местоположения прямо на карте. Если этот параметр включен, в верхнем левом углу страницы Map появится поле поиска. По мере ввода результаты извлекаются из настроенной службы Nominatim (служба геокодирования OpenStreetMap) и отображаются в виде предложений. Выбор результата перемещает карту к этому местоположению.
Геокодирование предоставляет две возможности:
- Прямое геокодирование — поиск координат по адресу или названию места.
- Обратное геокодирование — поиск адреса по координатам.
Настройка URL-адреса геокодирования
URL-адрес службы геокодирования настраивается для каждой области в mapsettings.json. Вы можете установить свойство geocodeUrl в разделе options для каждой области:
{ "options": { "default": { "center": [4.483118, 51.915767], "bounds": [4.24, 51.89, 4.51, 51.99], "zoom": 15, "minZoom": 0, "maxZoom": 19, "boxZoom": false, "geocodeUrl": "https://nominatim.openstreetmap.org" } }}
Файл mapsettings.json загружается менеджером из первого доступного места в следующем порядке:
- Постоянное хранилище:
{storage_dir}/manager/mapsettings.json. - Переменная среды:
OR_MAP_SETTINGS_PATH. - Том докера:
/opt/map/mapsettings.json. - По умолчанию:
manager/src/map/mapsettings.json.
Подробнее о настройке карты см. в разделе Работа с картами.
Выбор сервиса геокодирования
geocodeUrl должен указывать на API-интерфейс, совместимый с Nominatim. Вы можете использовать одно из следующих действий:
Сервис
Описание
Публичная номинация
https://nominatim.openstreetmap.org — бесплатно, но в соответствии с Политикой использования Nominatim (максимум 1 запрос в секунду, без интенсивного использования)
Номинальный хостинг на собственном хостинге
Запустите свой собственный экземпляр для более высокой пропускной способности и отсутствия ограничений скорости. См. настройку локального экземпляра ниже.
Другие совместимые сервисы
Любой сервис, реализующий конечные точки Nominatim /search и /reverse с поддержкой вывода GeoJSON.
предупреждение
Публичный сервис Nominatim имеет строгие ограничения по тарифам. Для производственных развертываний с несколькими пользователями следует запустить самостоятельный экземпляр или использовать другую совместимую службу.
Отключение геокодирования
Чтобы отключить геокодирование для области, либо удалите свойство geocodeUrl из конфигурации этой области в mapsettings.json, либо установите для него пустую строку.
Примечание
Поле поиска геокодирования появляется только в том случае, если свойство showGeoCodingControl компонента карты равно true и в настройках карты области присутствует действительный geocodeUrl. В приложении «Диспетчер» showGeoCodingControl включен по умолчанию. Если вы создаете пользовательские компоненты, см. раздел Работа с картами — Geocoding, чтобы узнать, как его включить.
Использование локального экземпляра Nominatim
OpenRemote также поддерживает использование локального экземпляра Nominatim. Чтобы использовать его, обновите mapsettings.json, включив в него правильный URL-адрес для разрешения запроса:
{ "options": { "default": { "geocodeUrl": "http://your-nominatim-host:8080" } }}
Дополнительную информацию о настройке Nominatim см. в Руководстве по установке Nominatim.
См. также
- Карта
- Внешний вид — Настройки карты
- Работа над картами
- Работа с картами — Геокодирование
- Переменные среды платформы для карт
Уведомление о лицензии: атрибуция документации OpenRemote