我正在尝试使用Leaflet.js来访问我使用gdal2tiles.py -p raster
平铺的非地理(扫描图像...)地图。但我绝对不能让它工作:我看到Leaflet请求负坐标和不存在的URL。 (例如:/3/-1/8.png
...)
有问题的地图宽1162像素,高700像素。
tilemapresource.xml
生成的gdal2tiles
文件除其他外:
<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)
为SouthWest。我不知道为什么。 (同样,我正在使用CRS.Simple
...)
实验上,我在tile-layer上设置了“tms:false”,这会导致某些出现,但现在显示器正在做最令人惊奇的事情:完全靠它自己,它是“ping” - “从左右边缘的大致中间左右来回到底部的中间,然后返回。”
我知道今天我已经对这件事情进行了太久的打击......
答案 0 :(得分:0)
好吧,我找到了。 (而且,因为我最后两次问这个问题,让我在两个地方回答。)
使用
layers
选项调用Map对象的构造函数时,添加要在地图上使用的所有层。
换句话说,不按照我的方式做:尝试先设置各个图层,然后将它们添加到地图中。地图需要了解图层,并且图层需要从一开始就了解地图。所以,添加它们,然后根据需要配置它们。
否则,&#34;可能会发生奇怪和默认的事情。&#34;例如,虽然我指定了Simple
CRS,但这并不是我实际应用的内容。似乎各种对象(地图,图层)和#34彼此交谈&#34;这个图书馆有很多,他们不希望成为孤儿。
(其中一些&#34;奇怪的东西&#34;可能发生的事实上,奇怪的 ......就像:地图的一个小版本, ping-ponging 介于&#34;大约三点钟&#34;以及&#34;大约六点钟&#34;然后再回来。一个有趣且有趣的事情要看,除非你还不知道它为什么会发生,也不知道如何阻止它!哇!)
&#34; leaflet.js&#34;的设计肯定不是错误,但对于粗心大意的人来说却有一些令人不快的意外。 (像我一样。)希望这会有所帮助。