1

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

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

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

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

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

4

1 回答 1

1

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

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

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

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

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

于 2012-04-15T23:22:15.230 回答