【问题标题】:OpenLayers as a large (changing and growing) image viewerOpenLayers 作为大型(不断变化和不断增长的)图像查看器
【发布时间】:2013-05-24 10:18:45
【问题描述】:

基本上,我想要做的是将地图查看器用作图像查看器,具有相同的高效切片加载、缩放/平移功能,而无需自己构建。

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

还有一个问题。我需要缩放级别 0 才能一直缩放 in。由于图像在不断增长,因此无法确定最大缩放级别是多少,并且坐标需要基于基础图像图层图块,以便缩放级别 z 中的每个图块包含 2^z 基础图层图块。

我想知道 OpenLayers 是否可以做到这一点以及如何做到这一点。如果不是,任何可以做到这一点的其他(开源javascript)库的建议将不胜感激!我尝试过使用Polymaps,但是文档太少了,我无法判断它是否会起作用。到目前为止还没有运气。

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

【问题讨论】:

    标签: javascript image openlayers


    【解决方案1】:

    毕竟我最终还是使用了 Polymaps,因为我比 OpenLayers 更喜欢它,因为它速度更快,滚动和平移更流畅。我不能完全按照我的意愿去做,但我所做的已经足够接近了。

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

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

    编辑:我已将代码发布在 github 上 https://github.com/camupod/polymaps

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

    【讨论】:

    • @dm03514 我在 github 上发布了我的代码。很抱歉缺少文档,但我没有时间仔细阅读并让一切恢复正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-22
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    • 2016-10-16
    • 2015-02-17
    • 1970-01-01
    相关资源
    最近更新 更多