V
V
Vladimir Kulikov2020-05-30 10:59:09
JavaScript
Vladimir Kulikov, 2020-05-30 10:59:09

How in yandex api to find out the id of the polygon in which the label fell?

Hello, there are 3 polygons.
PgWzJTI.png
When searching, an object appears, when it enters the polygon, it changes its transparency.

if (polygon) {
                        // Уменьшаем прозрачность всех полигонов, кроме того, в который входят переданные координаты.
                        deliveryZones.setOptions('fillOpacity', 0.2);
                        polygon.options.set('fillOpacity', 0.8);
                        // Перемещаем метку с подписью в переданные координаты и перекрашиваем её в цвет полигона.
                        deliveryPoint.geometry.setCoordinates(coords);
                        deliveryPoint.options.set('iconColor', polygon.properties.get('fill'));
                        // Задаем подпись для метки.
                        if (typeof(obj.getThoroughfare) === 'function') {
                            setData(obj);
                        } else {
                            // Если вы не хотите, чтобы при каждом перемещении метки отправлялся запрос к геокодеру,
                            // закомментируйте код ниже.
                            ymaps.geocode(coords, {results: 1}).then(function (res) {
                                var obj = res.geoObjects.get(0);
                                setData(obj);
                            });
                        }
                        // if(polygon.properties.get(1)){
                        //     alert('Попал в зону')
                        // }
                    } else {
                        // alert('не Попал в зону')
                        // Если переданные координаты не попадают в полигон, то задаём стандартную прозрачность полигонов.
                        deliveryZones.setOptions('fillOpacity', 0.4);
                        // Перемещаем метку по переданным координатам.
                        deliveryPoint.geometry.setCoordinates(coords);
                        // Задаём контент балуна и метки.
                        deliveryPoint.properties.set({
                            iconCaption: 'Доставка по этому адресу не осуществляется, выберите самовывоз',
                            balloonContent: '',
                            balloonContentHeader: ''
                        });
                        // Перекрашиваем метку в чёрный цвет.
                        deliveryPoint.options.set('iconColor', 'black');
                    }

hRaQpJe.png

Polygons have id: 0,1,2.
How to make a check for hitting a specific polygon?

Answer the question

In order to leave comments, you need to log in

1 answer(s)
0
0xD34F, 2020-05-30
@0xD34F

iterate over the polygons, see the result contains

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question