Leaflet:图像叠加和缩放级别

时间:2016-03-19 12:55:03

标签: javascript leaflet

我在地图上添加了一张图片(图片叠加层)。我可以根据图像“调整”缩放级别吗?

在zoomlevel 17下,与屏幕分辨率相比,栅格地图的分辨率太低。在zoomlevel 16,栅格地图不再可读。

是否可以定义类似“zoomlevel 17:1px of image = 1px of the screen”?

请原谅我颠簸的英语。 非常感谢你!

var map = L.map('image-map', {
		minZoom: 16,
		maxZoom: 18,
		}).setView([46.975768, 7.436308], 17);


var imageUrl = '../Bilder/Karten/Normalansicht.png',
    imageBounds = [[46.966635, 7.415942], [46.998849, 7.470108]];

L.imageOverlay(imageUrl, imageBounds).addTo(map);

map.setMaxBounds(imageBounds);

1 个答案:

答案 0 :(得分:2)

  

是否可以定义类似“zoomlevel 17:1px”的内容   image = 1px的屏幕“?

没有

在此坐标系中,1个地图单位= 1px,在缩放级别为0.您必须调整图像叠加坐标以达到所需的屏幕分辨率/图像分辨率。

http://leafletjs.com/examples/crs-simple/crs-simple.html

上查看CRS.Simple上的教程

另一种选择是使用分数缩放控件(仅在Leaflet 1.0.0-beta中可用,而不是在0.7.x系列中)。通过设置CRS.SimplezoomSnap选项,用户可以设置缩放级别,例如16.25,16.5和16.75。

没有相关教程,但您可以在https://github.com/Leaflet/Leaflet/blob/master/debug/map/zoom-delta.html

查看一些测试代码