是否可以在 OpenLayers 中基于基础图像层上的某些预定义区域从基础图像层打开另一个图像层 (OpenLayers.Layer.Image)。例如,如果我在基本图像层中设置了五个区域,则缩放到任何一个区域都会打开相应的图像层,而缩小会带回基本图像层?
如果是的话,你能指出一些样本或方法如何实现这一点。
是否可以在 OpenLayers 中基于基础图像层上的某些预定义区域从基础图像层打开另一个图像层 (OpenLayers.Layer.Image)。例如,如果我在基本图像层中设置了五个区域,则缩放到任何一个区域都会打开相应的图像层,而缩小会带回基本图像层?
如果是的话,你能指出一些样本或方法如何实现这一点。
经过大量的试验和错误,我发现它可以在 Openlayers 中使用OpenLayers.Layer.Image到地图层。然后创建一个表示圆圈的矢量叠加层(OpenLayers.Layer.Vector("Overlay"))并将其作为叠加层添加到地图中。
然后我注册地图的zoomend事件。基于 getZoom() 方法,我可以控制使用map.setBaseLayer(imageLayer2)更改图像
我不知道这种功能 - 基于区域的不同图像层。但也许您会对自托管的自定义磁贴感兴趣?这是有关如何设置的一些信息。这个想法是:你从你的图像创建平铺图像(例如256x256px),你只需从一个大图像创建许多缩放级别。但是在您感兴趣的区域,您可以更改那里存在的平铺图像。缺点是您必须执行的操作数量:您必须将所有图像切割成平铺(或者不切割,如果使用大平铺),手动调整图像大小以适应不同的缩放级别,配置缩放级别,最后 - 更改带有区域的平铺你的兴趣。需要一些图像编辑,但应该可以。