Задать вопрос

Как получить id нажатой метки Yandex Map?

Я пытался воспользоваться событием от Яндекса "add",
geoObjects.events.add("change", function () {
      geoObjects.properties.get("myID")
});


но мне это не помогает, я постоянно получаю одну ошибку в различных видах, но суть одна, метода add нет у объекта
Uncaught TypeError: Cannot read property 'add' of undefined
Моя цель получить properties данные с json объекта, если есть другие решения, предлагайте, пока я додумался только получить айдишник и от него все остальное

var mapCenter = $('#map').data('center');
    var fileMap = $('#map').data('file');

    ymaps.ready()
        .done(function (ym) {
            var myMap = new ym.Map('map', {
                center: mapCenter,
                zoom: 13,
                controls: []
            });


            $.getJSON(fileMap, function (json) {

                var geoObjects = ym.geoQuery(json)
                    .addToMap(myMap)
                    .applyBoundsToMap(myMap, {
                        checkZoomRange: true

                    })
            });

            myMap.behaviors.disable('scrollZoom');
        });


Ко мне приходит такой json:

{
  "type": "FeatureCollection",
  "features": [{
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [
          55.778674,
          37.641944
        ]
      },
      "properties": {
        "balloonContent": "<div class='balloon__inner'><div class='balloon__inner--title'>VISPRING</div><div class='balloon__inner--address'>Адрес: ул. Алабяна, 10 корпус 2 (м. Сокол)</div></div>",
        "hintContent": "ул. Алабяна, 10 корпус 2 (м. Сокол)",

        "images": "assets/img/main-page/pexels-andre-furtado-1429395.png",
        "nameStore": "Фотосфера",
        "address": "ТЦ Мегаполис. Пр. Андропова, д. 8",
        "workTime": "11:00 – 21:00",
        "number": "+7 (495) 212-10-89",
        "siteStore": "www.fsfera.ru"
      },
      "options": {
        "iconLayout": "default#image",
        "iconImageHref": "assets/img/svg/SVG_map-icons/green_location_small.svg",
        "iconImageSize": [55, 65],
        "iconImageOffset": [-28, -60]
      }
    },
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [
          55.742661, 37.573752
        ]
      },
      "properties": {
        "balloonContent": "<div class='balloon__inner'><div class='balloon__inner--title'>VISPRING</div><div class='balloon__inner--address'>Адрес: ул. Алабяна, 10 корпус 2 (м. Сокол)</div></div>",
        "hintContent": "ул. Алабяна, 10 корпус 2 (м. Сокол)",

        "images": "assets/img/main-page/pexels-andre-furtado-1429395.png",
        "nameStore": "Фотосфера",
        "address": "ТЦ Мегаполис. Пр. Андропова, д. 8",
        "workTime": "11:00 – 21:00",
        "number": "+7 (495) 212-10-89",
        "siteStore": "www.fsfera.ru"
      },
      "options": {
        "iconLayout": "default#image",
        "iconImageHref": "assets/img/svg/SVG_map-icons/green_location_small.svg",
        "iconImageSize": [55, 65],
        "iconImageOffset": [-28, -60]
      }
    }
  ]}
  • Вопрос задан
  • 165 просмотров
Подписаться 1 Простой 5 комментариев
Решения вопроса 1
homsi959
@homsi959 Автор вопроса
Вопрос решил:
Я пытался использовать событие add непосредственно у geoObjects который как я понял не имеет этого метода. Нужно была прощаться через карту и лишь после к объектам

myMap.geoObjects.events.add('click', function (e) {
    console.log(e.get('target'));
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 дек. 2024, в 13:01
50000 руб./за проект
22 дек. 2024, в 10:44
15000 руб./за проект
22 дек. 2024, в 10:12
10000 руб./за проект