Как проверить вхождение введенного адреса в зону доставки Яндекс API?
Задача сделать input, который предназначен для ввода адреса. После ввода он сравнивает входит ли адрес в зону доставки.
Я создал input, подключил к нему подсказки с адресами от Яндекс API, так как зона доставки ровно 2 км от адреса магазина, не больше, я создал карту и добавил на нее круг.
Главная задача - при вводе адреса проверять входит ли адрес в этот круг или нет. Вот пример, который проверяет на вхождение в зону, но саму зону он рисует иначе и данные берет из собственного input. https://yandex.ru/dev/maps/jsbox/2.1/delivery_zones/
https://yandex.ru/dev/maps/jsbox/2.1/circle/ функция, которая создает круг.
Но никак не хватает мозгов соединить эти два примера во что-то одно.
Насколько я понимаю, нужно получить координаты адреса, который ввели и проверить входят ли они в координаты круга. Проблема встает в способах подружить кастомный input с картой.
Ответы (2 шт):
У меня сейчас примерно такая же задача.
Думаю надо отталкиваться от https://yandex.ru/dev/maps/jsbox/2.1/input_validation
А зачем круг каждый раз отрисовать? Создайте через конструктор и выгрузите в json.
Вешаем на кастомный input onchange, передаем val кастомного поля в поле карты и имитируем клик на кнопке Найти
$('.input').on('change', function(e){
adress = $('.input').val();
$('.ymaps-2-1-78-searchbox-input__input').val(adress);
$('.ymaps-2-1-78-searchbox-button').trigger('click');
})