0

我已经构建了一个本地图块服务器来服务于本地 javascript 应用程序,并且我通过 openlayers 作为 Layer.XYZ 接收地图图块。

我从 thinkgeo 获得了马萨诸塞州的原始数据。它在正确的坐标上注册,因为它与 tilemill 的内置国家地图对齐。

我通过 mapnik 从 tilemill 导出地图(也通过 mbtiles 以极大的尺寸减小),并配置 tilestache 以使用相关的输出文件。它似乎服务正确,因为当我加载我的 javascript 时,国家地图被成功拉出,当我找到马萨诸塞州时,道路按我想要的方式突出显示。

所以,问题来了:

当我设置缩放并将中心设置为波士顿的经度/纬度时,它在我之前起草的在线版本的 Layer.OSM 上正常工作,它给了我格陵兰西北部的海洋。事实上,我必须将纬度设置为 -lat 才能进入马萨诸塞州的范围内,但这仍然没有让我进入波士顿。

我已将 TileStache 配置设置为使用 WGS84,并将 OpenLayers 导入设置为使用 EPSG:4326,所有文档都表明它们是相同的。因此,我想知道 OL 的 XYZ 层是否有什么让这变得更加困难?

如果有人对我正在使用的其他软件有任何其他建议,我会全力以赴。

4

1 回答 1

0

我只是使用了sphericalMercator 并将我的所有计算转换为米(这...实际上简化了一些事情,但我已经完成了这些事情的代码编写)。我仍然不知道为什么 lon/lat 被破坏了,但是嘿,如果米工作....

于 2013-06-17T14:34:20.443 回答