Как вы используете Leaflet js, чтобы показывать всплывающие окна на изображении вне карты? - PullRequest
0 голосов
/ 30 января 2020

Я использую 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() будут где-то в нижнем правом квадранте, когда он рендерится, но на самом деле он находится в верхнем правом углу. Я думаю, что я просто не правильно настроил свои координаты.

...