Я добавляю новые функции к решению карты, использующему OpenLayers 2.13. Это решение отображает функции над Норвегией, поэтому мы используем проекцию UTM33N (EPSG: 32633).Векторный слой OpenLayers отображается со смещением
В настоящее время я пытаюсь добавить выбираемый/функциональность подсказке на новый слой , который должен отображать GPS-треки (объект LineString) Решение уже имеет подобный «выбираемые» функциональность на несколько ее слоев. Эти слои добавляются в виде массива в OpenLayers.Control.SelectFeature.
Прежде чем добавить слой GPS к элементу SelectFeature, я мог видеть, что он отображается правильно на карте и в правильном положении . (Изображение 1)
При настройке карты, добавить слой GPS в слои в элементе управления SelectFeature, который находится внутри обычай сделал TooltipControl:
tooltipControl.getSelectFeatureControl().selectFeatureControl.layers.push(gpsLayer);
Когда я добавляю к регулятору SelectFeature однако он отображается со значительным смещением от того места, где он должен был быть. (Изображение 2) Смещение на самом деле зависит от уровня масштабирования, потому что, когда я увеличиваю функции, приближаюсь к их правильному положению, но все еще не правильно.
От проверки DOM я вижу, что перед добавлением слоя GPS в элемент управления SelectFeature слой визуализировался внутри div под названием «OpenLayers_Layer_Vector_55». При панорамировании на карте изменяется стиль div, в частности, свойства «left» и «top» из div изменяются, чтобы гарантировать, что линейная линия отображается в правильном положении.
После добавления его в SelectFeature он отображается внутри div под названием «OpenLayers_Layer_Vector_RootContainer_283» вместе со всеми другими выбираемыми слоями. Теперь уровень GPS не отображается в правильной позиции на карте. OpenLayers все еще обновляет «левые» и «верхние» свойства Vector_55 div , когда я панорамирую, но уровень GPS не влияет на это, поскольку теперь он содержится в div RootContainer_283.
Как я могу отобразить слой GPS в правильном положении и все еще иметь его в элементе управления SelectFeature?
Изображение 1 - Правильный рендеринг:
Изображение 2 - Неправильный перевод:
Заранее спасибо!
Насколько велика смещение? Метров, километров? Какие прогнозы вы используете? – MortenSickel
Смещение фактически зависит от уровня масштабирования. Когда я увеличиваю масштаб, функции приближаются к их правильному положению, но все еще не верны. Используемая проекция - EPSG: 32633 (UTM33N). –
OpenLayers, несомненно, может обрабатывать несколько векторных слоев с помощью элемента управления selectFeature, поэтому проблема находится где-то в другом месте. Может быть, в пользовательском элементе управления selectFeature? – fradal83