1

我在我的 openlayer Web 应用程序的矢量图层中有一张图像用作叠加层。这个想法与这个例子中展示的一样

我不明白的是如何为我的图像设置一个有效的分辨率,以便每次用户更改地图的缩放比例时,图像的宽度和高度都会调整以覆盖其真实的地理区域。

在上面的示例中,使用了一些图像,并使用特定的硬编码分辨率因子将其放置在某些特定位置。

假设我有一个 400x400 像素的图像,它代表 400x400 公里的区域,每次缩放系数发生变化时,我都需要使用如下公式重新计算图像的宽度和高度:

imageWidth = imageWidthInPixel * theResolution / map.getResolution(); 
imageHeight = imageHeightInPixel * theResolution / map.getResolution();

其中'theResolution'是我需要以某种我不知道的方式计算的值。我想这是一个取决于图像覆盖的以公里或米表示的面积的值,但我无法找到有意义的关系。如上所述,在我报告的示例中,这些值是硬编码的,并且取决于图像,但无法理解这些值是如何计算的。

请帮助我理解这一点。

4

1 回答 1

0

如果您知道图像的投影,最简单的方法是简单地将图像定义为 OpenLayers 中定义的具有适当投影的层。此时,OpenLayers 将为您处理缩放和平移。

于 2013-10-03T15:31:35.333 回答