Openlayers-根据缩放区域显示另一个图像层

时间:2013-04-22 09:11:20

标签: image zoom openlayers layer

OpenLayers是否可以根据基础图像层上的某些预定义区域从基础图像层打开另一个图像层(OpenLayers.Layer.Image)。例如,如果我在基础图像层中设置了五个区域,在缩放到任何一个区域时将打开相应的图像层,缩小将带回基础图像层?

如果是,你可以指出一些样本或方法如何实现这一点。

2 个答案:

答案 0 :(得分:0)

我不了解这样的特征 - 基于区域的不同图像层。但也许你会对自托管定制瓷砖感兴趣? Here's some information如何设定。这个想法是:您从图像中创建平铺图像(例如256x256px),您只需从一个大图像创建许多缩放级别。但是在您感兴趣的区域,您可以更改那里存在的平铺图像。下行是操作量,您需要做的是:您必须将所有图像切割为切片(或者不是,如果使用大切片),手动调整不同缩放级别的图像,配置缩放级别,最后 - 使用区域更改切片你感兴趣的。需要一些图像编辑,但应该可以工作。

答案 1 :(得分:0)

经过大量的反复试验后,我发现在Openlayers中使用 OpenLayers.Layer.Image 来映射图层。然后创建一个表示圆圈的矢量叠加层( OpenLayers.Layer.Vector(“叠加层”)),并将其作为叠加层添加到地图中。

然后我注册地图的 zoomend 事件。基于getZoom()方法,我可以使用 map.setBaseLayer(imageLayer2)

来更改图像