Клуб API Карт

Расчёт стоимости маршрута

eponomarev90
14 мая 2015, 15:54

Здравствуйте, в песочнице - https://tech.yandex.ru/maps/jsbox/2.1/deliveryCalculator , есть готовый сервис по расчету стоимости маршрута. Но я бы хотел его немного доработать.

Когда человек введет "адрес начальной точки" и "адрес конечной точки" ничего не произойдет, пока он не нажмет на 2 кнопки "найти".... Я бы хотел заменить эти 2 кнопки "найти" на одну "расчитать". 

Как это сделать, подскажите пожалуйста и если есть возможность киньте кусок кода.

4 комментария
Подписаться на комментарии к посту
Всеволод Шмыров
15 мая 2015, 13:00
Доброе утро. То есть вы хотите, чтобы поиск осуществлялся при наборе текста? Не надо так делать. Это достаточно странный кейс. Пока человек полностью введет запрос произойдет уже очень много "поисков".

Нет, я хочу чтобы когда человек ввел два адреса "начальную точку" и "конечную точку" ему потом ненужно было нажимать на 2 кнопки "найти" "найти" чтобы произвести расчет. 
Хочу эти 2 кнопки заменить одной "расчитать заказ", что то вроде этого. 

Что-то вроде такого добавить в функцию init

var btn = new ymaps.control.Button({
        data: {content: 'go'},
        options: {selectOnClick: false}
    });
   
    myMap.controls.add(btn);
   
    var searchAndSelect = function (control) {
        var inputValue = control.state.get('inputValue');
        if (inputValue) {
            control.search(inputValue).then(function () {
                if (control.getResultsCount()) {
                    control.showResult(0);
                }   
            });
        }
    };
   
    btn.events.add('click', function () {
        searchAndSelect(searchStartPoint);
        searchAndSelect(searchFinishPoint);
    });

Извините, но не получается вставить код как надо и чтобы работал. 
Если Вас не затруднит скиньте весь уже работающий код на основе - https://tech.yandex.ru/maps/jsbox/2.1/deliveryCalculator

Большое спасибо.