【发布时间】:2016-01-24 11:47:59
【问题描述】:
我正在向使用 OpenLayers 2.13 的地图解决方案添加新功能。 此解决方案显示挪威上空的特征,因此我们使用 UTM33N (EPSG:32633) 投影。
目前我正在尝试将可选择/工具提示功能添加到新图层 应该显示 GPS 轨迹(线串) 该解决方案已经具有类似的“可选”功能 它的几个层。这些层作为数组添加到 OpenLayers.Control.SelectFeature。
在我将 GPS 图层添加到 SelectFeature 之前,我可以看到它正在显示 正确地在地图和正确的位置。 (图一)
在设置地图的过程中,我将 GPS 图层添加到内部的 SelectFeature 控件的图层中 一个定制的 TooltipControl:
tooltipControl.getSelectFeatureControl().selectFeatureControl.layers.push(gpsLayer);
但是,当我将它添加到 SelectFeature 控件时,它的显示位置与应有的位置有相当大的偏移。 (图2) 偏移量实际上取决于缩放级别,因为当我放大特征时,它们会接近它们的正确位置,但仍然不正确。
通过检查 DOM,我可以看到在将 GPS 层添加到 SelectFeature 控件之前 该图层在名为“OpenLayers_Layer_Vector_55”的 div 中渲染。平移时 地图,div的样式正在改变,更具体地说是“left”和“top”属性 正在更改 div 以确保在正确的位置呈现线串。
将其添加到 SelectFeature 后,它会在名为“OpenLayers_Layer_Vector_RootContainer_283”的 div 中呈现 以及所有其他可选图层。现在 GPS 图层未正确渲染 地图上的位置了。 OpenLayers 仍在更新 Vector_55 div 的“left”和“top”属性 当我平移时,但 GPS 层不受此影响,因为它现在包含在 RootContainer_283 div 中。
如何将 GPS 图层渲染到正确的位置,并且仍然保留在 SelectFeature 控件中?
提前致谢!
【问题讨论】:
-
偏移量有多大?米,公里?您使用的是哪些投影?
-
偏移量实际上取决于缩放级别。当我放大时,这些特征接近它们的正确位置,但仍然不正确。使用的投影是 EPSG:32633 (UTM33N)。
-
OpenLayers 肯定能够使用 selectFeature 控件处理多个矢量图层,所以问题出在其他地方。也许在自定义 selectFeature 控件中?
标签: javascript openlayers