Leaflet 将传单.js与非地理地图(gdal2tiles.py)一起使用

Leaflet 将传单.js与非地理地图(gdal2tiles.py)一起使用,leaflet,Leaflet,我正在尝试使用ployate.js访问非地理(扫描图像…)地图,我使用gdal2tiles.py-p光栅平铺了该地图。但我绝对不能让它工作:我看到传单,要求使用负坐标和不存在的URL。(例如:/3/-1/8.png…) 这张地图宽1162像素,高700像素 由gdal2tiles生成的tilemapresource.xml文件除其他内容外还说明: 如你所见,Y坐标的范围是从负数到零,X坐标的范围是从零到正数。(我想这正是gdal2tiles.py决定这么做的方式。) 我正在使用CRS.Sim

我正在尝试使用ployate.js访问非地理(扫描图像…)地图,我使用
gdal2tiles.py-p光栅平铺了该地图。但我绝对不能让它工作:我看到传单,要求使用负坐标和不存在的URL。(例如:
/3/-1/8.png
…)

这张地图宽1162像素,高700像素

gdal2tiles
生成的
tilemapresource.xml
文件除其他内容外还说明:

如你所见,Y坐标的范围是从负数到零,X坐标的范围是从零到正数。(我想这正是
gdal2tiles.py
决定这么做的方式。)

我正在使用
CRS.Simple
,就像所有文档所说的那样,我正在将边界设置为
西南=(-700,0),东北=(01162)
,承认当我看到其他似乎正在反转第二(Lng)坐标的示例时,我已经非常困惑

(我意识到“Lat”对应于“Y”,而“Lng”对应于“X”。)

同样让我感到困惑的是,当我使用最大缩放功能
取消投影西南和东北点时,我得到西南方向的
LatLng(-36.3125,-21.875)
。我不知道为什么。(同样,我使用的是
CRS.Simple
。)

在实验上,我在瓷砖层上设置了“tms:false”,这导致了一些东西的出现,但现在显示器正在做最令人惊奇的事情:完全依靠自己,它沿着一条线来回“乒乓”,大致从右边缘的中间向下,从左到底部的中间,再向后

我知道我今天在这件事上干得太久了…

嗯,我找到了。(由于我最后两次问了这个问题,让我在两个地方都回答。)

使用
layers
选项,在调用地图对象的构造函数时,添加要在地图上使用的所有图层

换句话说,不要像我刚才所做的那样:首先尝试设置各个图层,然后将它们添加到地图中。地图需要从一开始就知道图层,图层需要知道地图。因此,添加它们,然后根据需要配置它们

否则,“奇怪的和默认的事情可能会发生。”例如,尽管我指定了
Simple
CRS,但这并不是我实际得到的结果。似乎各种对象(贴图、层)在这个库中“相互交谈”的次数很多,它们不希望成为孤儿

(事实上,可能发生的一些“奇怪的事情”是很奇怪的……比如:地图的一个小版本,在“大约三点”和“大约六点”之间打乒乓球,然后又打回来。这是一件有趣有趣的事情,除非你还不知道为什么会发生,也不知道如何阻止它!唷!)


可以肯定的是,“传单.js”的设计肯定没有错,但对于粗心的人来说,它有一些令人不快的惊喜。(像我一样。)希望这能有所帮助。

我想在任何浏览器的调试器中执行此操作时,我最困惑的是:
L.CRS.Simple.pointtolatling(新的L.Point(10,10),3)
。。。我得到的回应是Lat(-1.25,1.25)
,在我看来,这基本上不是“直接将Lat,lng转换为x,y”,正如。。。