【发布时间】:2019-01-16 21:33:59
【问题描述】:
我需要构建一个图像查看器,它可以在每个缩放级别重新加载图像,而不是加载非常大的图像,并保持图像的清晰度。看这个例子:https://www.rijksmuseum.nl/nl/rijksstudio/kunstenaars/rembrandt-van-rijn/objecten#/SK-C-5,0
我做了一些研究,发现我可以为此使用leaflet.js。我最初加载 1024x1024 图像,当我放大 Leaflet.js 时需要加载构成整个图像的 4 个新图像。再次放大,你会得到相同的结果。
问题是我没有让它工作。我有以下代码:
var map = L.map('image-map', {
maxZoom: 20,
minZoom: 20,
crs: L.CRS.Simple
}).setView([0, 0], 20);
var southWest = map.unproject([0, 1024], map.getMaxZoom());
var northEast = map.unproject([1024, 0], map.getMaxZoom());
map.setMaxBounds(new L.LatLngBounds(southWest, northEast));
L.tileLayer('/map-tiles/map_{x}_{y}.jpg', {
}).addTo(map);
#image-map {
border: 1px solid black;
height: 250px;
}
<link href="https://unpkg.com/leaflet@1.4.0/dist/leaflet.css" rel="stylesheet" integrity="sha512-puBpdR0798OZvTTbP4A8Ix/l+A4dHDD0DGqYW6RQ+9jxkRFclaxxQb/SJAWZfWAkuyeQUytO7+7N4QKrDh+drA=="
crossorigin=""/>
<script src="https://unpkg.com/leaflet@1.4.0/dist/leaflet.js" integrity="sha512-QVftwZFqvtRNi0ZyCtsznlKSWOStnDORoefr1enyq5mVL4tmKB3S/EnC3rRJcxCPavG10IcrVGSmPh6Qw5lwrg=="
crossorigin=""></script>
<div id="image-map"></div>
但由于某种原因,现在什么都没有加载。我以这个链接为例:http://omarriott.com/aux/leaflet-js-non-geographical-imagery/#using-the-tiles-in-leaflet
有谁知道如何解决此问题或以其他方式实现此问题?
它具有我想要的相同功能。源JS文件也很清楚,非常有用。我会自己尝试这个,我希望我能做到这一点。
【问题讨论】:
标签: javascript leaflet