Решение проблем с геопривязкой при подключении внешних сервисов

В веб-приложении при подключении внешних картографических сервисов может возникнуть несовпадение границ накладываемых друг на друга карт. Причиной расхождения координат может быть:

  1. Неверное значение атрибута proportionality="0.67", который находится в заголовочной части топоосновы.

  2. Отсутствуют или неверно выставлена геопривязка топоосновы:

<p5:Geo>

<p5:GeoItem Latitude="83.608096" Longitude="-168.230659" X="0" Y="0"></p5:GeoItem>

<p5:GeoItem Longitude="-56.586816" Longitude="-169.636909" X="1" Y="1"></p5:GeoItem>

</p5:Geo>

Для настройки геопривязки выполните следующие шаги:

  1. Выгрузите содержимое используемой топоосновы в файл:

  1. Откройте выгруженный файл текстовым редактором и измените значение атрибута proportionality на "0.6", например:

<svg version="1.1" xmlns:p5="http://www.prognoz.ru" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"

width="988.52px" height="593.97px" proportionality="0.6" xml:space="preserve">

Примечание. В некоторых случаях для совмещения границ достаточно выполнения двух первых шагов. Сохраните файл с топосновой, перейдите к шагу 9 и проверьте отображение границ.

  1. Скопируйте содержимое файла.

  1. Откройте сервис https://www.google.com/maps:

Примечание: При выделении вставленного текста на Google-карте будет отображаться добавленная карта в виде синего прямоугольника.

  1. Перейдите в раздел «Style» и задайте стили добавленной карты, чтобы она была видна на фоне Google-карты:

position: absolute;

border: 1px solid red;

left: 300px;

top: 170px;

opacity: .4;

  1. Совместите границы территорий вставленной карты и Google-карты, вручную перемещая Google-карту.

Примечание. Предварительно размер Google-карты уменьшите до минимального и отключите в меню параметр Globus.

  1. После совмещения границ щёлкните по левому верхнему и правому нижнему углу вставленной карты, будут отображены координаты точек (0;0) и (1;1) на Google-карте. Запишите их для дальнейшей вставки в топооснову.

  1. Внесите полученные координаты для точек (0;0) и (1;1) в файл с топоосновой в раздел <p5:MetaInfo>, например:

<p5:MetaInfo>

<p5:Geo>

<p5:GeoItem Latitude="81.509077" Longitude="17.877862" X="0" Y="0"></p5:GeoItem>

<p5:GeoItem Latitude="40.265518" Longitude="-168.445904" X="1" Y="1"></p5:GeoItem>

</p5:Geo>

  1. Для замены данных топоосновы выполните команду «Загрузить из файла» в контекстном меню топоосновы в навигаторе объектов в настольном приложении.

  2. Отройте веб-приложение и проверьте совпадение границ топоосновы и Google-карты.

См. также:

Дополнительные  возможности карты