Изменения

Перейти к: навигация, поиск

Модуль «Карта»

2674 байта добавлено, 08:35, 19 ноября 2021
м
Геокодирование
=== Геокодирование ===
Для отображения любой информации на карте используется [https://ru.wikipedia.org/wiki/Геокодирование геокодирование]. В MeaSoft процесс реализован через последовательные запросы до получения результата: к внутренней базе, к серверу [https://www.ahunter.ru/ Ахантер] и к Яндекс.Картам.
Запрос состоит из адресовЕсли в офисном приложении координаты адреса неизвестны, по которым нужно доставить или забрать заказоно отправляет запрос в геокодер MeaSoft: передает город и адрес, в ответ получает координаты, которые сохраняются в кеш программы. Поэтому, прежде чем отправить запрос в геокодер, сначала проверяется, нет ли данных для этого адреса в кеше. Если есть, запрос к геокодеру не нужен.
Сервер геокодирования ЯндексПри записи и чтении из кэша срабатывает упрощение адреса: до первой запятой — считается улицей, 5 символов после — номер дома. Использование упрощения адресов определяется переменной '''Справочники''' > '''Переменные''' > '''Подключения''' > '''Карты''' > '''Геокодирование''' > '''Отключить упрощение адреса при геокодировании''':* если упрощение включено, в кеш записывается не весь найденный адрес, а только часть. Перед поиском адрес также сначала упрощается.КартНапример, получая запросадрес вида «Солнечногорск, улица Островского, 1» и «Солнечногорск, улица Гоголя, 1» упрощается до «Солнечногорск, улица». И программа оба адреса сведет к одной точке. При включении упрощения точность до дома не гарантируется;* если упрощение адреса выключено, преобразует поиск и запись адреса в координаты и ищет соответствия по своей базе данныхкеш ведется в том виде, в каком он указан. Затем сервер возвращает преобразованные адреса При разнице хотя бы в программуодин символ нужен повторный запрос к геокодеру. В окне «Карта» отображаются маркеры адресовНапример, эти адреса будут разными: «Солнечногорск, улица Островского, 1» и «Солнечногорск, улица Островского, которым сервер Яндекс.Карт смог найти соответствияд1».
Для улучшения результатов геокодирования при включенном упрощении указывайте адрес по стандарту MeaSoft. Например, в поле '''Адрес''' нужно указать «улица Островского, 1», а в поле '''Город''' указать «Солнечногорск». Тогда точность будет высокой при хорошей скорости геокодирования. Если геокодер MeaSoft не нашел адрес, он может сделать запрос к платному геокодеру: [https://www.ahunter.ru/ Ахантер] и к [https://yandex.ru/maps Яндекс.Картам]. Сервер геокодирования Яндекс.Карт, получая запрос, преобразует адреса в координаты и ищет соответствия по своей базе данных, затем возвращает адреса в программу. В окне «Карта» отображаются маркеры адресов, которым сервер Яндекс.Карт смог найти соответствия. Данные сервера геокодирования Яндекс.Карт находятся в '''Справочники''' > '''Переменные''' > '''Подключения''' > '''Карты''' > '''Яндекс''' > '''Сервер геокодирования Яндекс'''.
Чтобы адреса корректно определялись на карте, перейдите по [https://developer.tech.yandex.ru/ ссылке] и получите ключ «JavaScript API и HTTP Геокодер», затем укажите его в '''Справочники''' > '''Переменные''' > '''Подключения''' > '''Карты''' > '''Геокодирование''' > '''API-Ключ'''.

Навигация