it_proger29
@it_proger29
Битрикс

Как в yandex api узнать id полигона в который попала метка?

Здравствуйте, есть 3 полигона.
PgWzJTI.png
При поиске появляется объект, при попадании в полигон он ему меняет прозрачность.
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

У полигонов есть айди: 0,1,2.
Как сделать проверку на попадание в определенный полигон?
  • Вопрос задан
  • 1012 просмотров
Пригласить эксперта
Ответы на вопрос 1
0xD34F
@0xD34F Куратор тега JavaScript
перебираете полигоны, смотрите результат contains
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы