Skip to main content

Геокодирование

Версия: 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 загружается менеджером из первого доступного места в следующем порядке:

  1. Постоянное хранилище: {storage_dir}/manager/mapsettings.json.
  2. Переменная среды: OR_MAP_SETTINGS_PATH.
  3. Том докера: /opt/map/mapsettings.json.
  4. По умолчанию: 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