Leaflet TypeError при получении свойства объекта - PullRequest
0 голосов
/ 02 февраля 2020

Я пытаюсь передать указанный идентификатор функции c элементу ввода HTML при нажатии на эту функцию.

Пока у меня есть это:

  function onFeature(feature, layer) {
    layer.on({
      click: document.getElementById('id_address').value = parseInt(feature.properties.pk)
    });
  }

$.ajax({
    type:"GET",
    url: "../geojson",
    dataType: 'json',
    success: function(response){
      layer = L.geoJson(response, {
        style: function(feature){
          return {color: "#2c65c1", fillColor: "4774bc", weight: 2};
        },
        onEachFeature: onFeature
      }).addTo(map);
    }
  });

Но когда я нажимаю на элемент на карте, я получаю следующую ошибку в консоли: TypeError: i[n].action.call is not a function Может кто-нибудь объяснить, что здесь происходит?

С парсингом все в порядке, поэтому значение для передачи на вход HTML это число.

1 Ответ

1 голос
/ 02 февраля 2020

Ваш синтаксис для настройки события щелчка листовки не совсем правильный. Кроме того, вам нужно определить событие, чтобы оно динамически подбирало требуемые свойства слоя, по которому щелкнули ...

 function onFeature(feature, layer) {
    layer.on('click', function(e) {
       document.getElementById('id_address').value = parseInt(e.target.properties.pk)
    });
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...