Событие щелчка в плагине листовки - Как заставить событие щелчка работать только внутри изображения мозаики карты?

0

У меня 256 * 256 изображений. Я установил изображение в листе, как указано ниже.

var cloudmadeUrl = tileserver + '/' + selected_map + '/tiles_{z}_{y}x{x}.png';

cloudmade = new L.TileLayer(cloudmadeUrl, {maxZoom: 4, noWrap: true, continuousWorld: true });

map = new L.Map('map', {
          center : latlng, 
          zoom : 0, 
          layers : [cloudmade], 
          tms: true
       });

У меня есть событие click для карты. Теперь событие click будет работать, если я выйду за пределы изображения плитки.

Как заставить событие click работать только внутри изображения на карте?

Теги:
leaflet

1 ответ

0
Лучший ответ

Вместо того, чтобы беспокоиться о границах карты (поскольку она привязана к контейнеру, а не к игровому элементу), вы можете беспокоиться о цели события клика. См. Match event.target с существующим объектом jquery для предложения.

Здесь работает JSFiddle. Он использует event.originalEvent в коде "Листовка" для сбора информации об исходном событии кликов. Затем он делает что-то, основанное на классе события click.

  • 0
    Спасибо за скрипку. Это прекрасно работает для плагин листовки. Но я также использую кластер маркера листовки на плагине листовки. Таким образом, event.originalEvent.target не даст целевой div. У вас есть идеи, как решить эту проблему в кластере маркеров листовки?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню