map.fire(«Пользовательское событие»); Как запустить пользовательское событие в листовке?

#javascript #leaflet

#javascript #листовка

Вопрос:

Я впервые пытаюсь создать плагин для листовки (также впервые с Github).

С помощью плагина вы можете выбрать поле на карте. Когда поле нарисовано, я хочу запустить событие.

Я могу запустить событие, подобное:

 map.fire("selected");
  

и тогда я могу видеть это в своем скрипте с

 map.on("selected", function() { .... });
  

Но как насчет запуска пользовательского события, такого как:

map.fire("areaSelected").

Я попытался выполнить поиск в документации, но не нашел способа…

jsFiddle: Верстать страницу github: Github

Ответ №1:

Существует несвязанная ошибка, которая нарушает этот jsfiddle:

введите описание изображения здесь

Комментарии:

1. Хорошо, странно. Возможно, это была старая скрипка. Я получаю сообщение об ошибке: «Неперехваченная ошибка типа: не удается прочитать свойство ‘fire’ неопределенного», когда я изменяю размер квадрата. Это потому, что я не могу запускать такие события, как map.fire («тест»); или map.fire («Выбранные области»); Спасибо за вашу помощь. jsfiddle.net/zoutepopcorn/UQ9G2/5 не вызывает вышеуказанную ошибку

2. Это не проблема с ‘fire’: вы неправильно управляете map переменной, поэтому она не определена, когда вы пытаетесь ее вызвать. Пожалуйста, ознакомьтесь с другими плагинами , которые правильно управляют ссылкой на карту , а не манипулируют ею как глобальной.

3. Спасибо, я рассмотрю это.