Я использую CRS.Simple
класс Leaflet js библиотеки. Вот пример из их документации.
Я пытаюсь использовать библиотеку для панорамирования, прокрутки, масштабирования и всплывающих окон на очень большом (9600x7200 пикселей) изображении. Все всплывающие окна основаны на координатном расположении в пикселях на основе исходного размера изображения.
Рендеринг нормально, но всплывающее окно не там, где я ожидал. Вот мой код:
var map = L.map("map", {
maxZoom: 5,
crs: L.CRS.Simple
});
var bounds = [
[0, 0],
[112.5, 150]
];
var image = L.imageOverlay("image-url", bounds).addTo(map);
map.fitBounds(bounds);
map.setView([84, 116.64], 5);
var popup = L.popup()
.setLatLng([84, 116.64])
.setContent("pop up test.")
.openOn(map);
В документации сказано, что не следует использовать значение целого пикселя для границ, поэтому я разделил все на 64. Я бы ожидал, что setView()
и popup()
будут где-то в нижнем правом квадранте, когда он рендерится, но на самом деле он находится в верхнем правом углу. Я думаю, что я просто не правильно настроил свои координаты.