OpenLayers作为一个大型(变化和增长)的图像查看器

时间:2012-04-12 13:47:43

标签: javascript image openlayers

基本上,我要做的是使用地图查看器作为图像查看器,使用相同类型的高效拼贴,缩放/平移功能,而无需自己构建。

具体来说,我需要一个图像查看器,它允许图像增长和变化,同时不改变任何旧(未更改)图块的坐标。这意味着图像开始生长的中心点(0,0)必须始终保持(0,0)。所以我正在寻找一个允许我使用非常基本的笛卡尔坐标系统(没有地图投影!)的图书馆,它将在所有方向无限地要求平铺而不重复(而不是地图库如何忽略y-地图上方和下方的轴,但x轴重复。)

还有另一个问题。我需要缩放级别0一直在 中进行缩放。由于图像不断增长,因此无法确定最大缩放级别是什么,并且坐标需要基于基本图像层图块,以便缩放级别z中的每个图块包含2 ^ z基本图层图块。 / p>

我想知道OpenLayers是否可行,以及如何做到这一点。如果不是,那么其他(开源javascript)库的任何建议都可以做到这一点非常感谢!我试过玩Polymaps,但是文档对我来说缺乏太多能够判断它是否有效。到目前为止没有运气。

如果这些都没有意义,请告诉我,我会尝试包含一些图片或更好的解释。谢谢!

1 个答案:

答案 0 :(得分:1)

毕竟我最终使用了Polymaps,因为我比OpenLayers更喜欢它,因为它更快,滚动和平移更平滑。我无法完全按照自己的意愿行事,但我所做的非常接近。

我最终编写了自己的图层(基于po.image()图层),它禁用了地图的无限水平循环。然后我编写了我自己的po.url()版本,修改了去往服务器的瓷砖请求,以便缩放变焦(我只是随意选择20的“最大”缩放,然后在发出请求时减去缩放级别20)并且x和y坐标从标准行转换为笛卡尔坐标,Polymaps使用的列坐标基于缩放级别和以(0,0)为中心的地图。

如果有人对代码感兴趣,我可以在这里发布。让我知道!

编辑:我已经在https://github.com/camupod/polymaps

的github上发布了代码

相关文件是src / Backwards *和examples / backwards(虽然它实际上不起作用,但您可以清除一些 应该如何工作的信息)。