【发布时间】:2015-05-12 00:17:52
【问题描述】:
我正在尝试使用 Leaflet.js 访问我使用 gdal2tiles.py -p raster 平铺的非地理(扫描图像...)地图。但我绝对无法让它工作:我看到 Leaflet 请求带有负坐标和不存在坐标的 URL。 (如:/3/-1/8.png...)
相关地图宽 1162 像素,高 700 像素。
gdal2tiles 生成的 tilemapresource.xml 文件说,除其他外:
<BoundingBox minx="0.0" miny="-700.0" maxx="1162.0" maxy="0.0"/>
<Origin x="0.0" y="-700.0"/>
因此,如您所见,Y 坐标的范围从负数到零,X 的范围从零到正数。 (这正是gdal2tiles.py 决定这样做的方式,我猜。)
我正在使用CRS.Simple,就像所有文档所说的那样,我将界限设置为SouthWest=(-700,0), NorthEast=(0,1162),承认当我看到其他似乎与第二个相反的示例时已经非常困惑(Lng ) 坐标。
(我意识到“Lat”对应“Y”,“Lng”对应“X”。)
让我同样困惑的是,当我使用最大缩放unproject 西南和东北点时,我得到西南和东北点的LatLng(-36.3125, -21.875)。我不知道为什么。 (同样,我正在使用CRS.Simple ...)
在实验中,我在 tile-layer 上设置了“tms: false”,这导致 something 出现,但现在显示器正在做最令人惊奇的事情:完全靠自己,它是“ping -pong" 沿着从左右边缘大致中间到底部中间的一条线来回移动,然后返回。
我知道我今天已经在这件事上苦苦挣扎了太久......
【问题讨论】:
-
我想当我在任何浏览器的调试器中执行此操作时我最困惑:
L.CRS.Simple.pointToLatLng(new L.Point(10,10), 3)...我得到的回应是Lat(-1.25, 1.25),在我看来基本上是正如leafletjs.com/reference.html#icrs 所暗示的那样,它不是“将 lat,lng 直接转换为 x,y”...
标签: leaflet