ymaps.ready(['DeliveryCalculator']).then(function init () { var myMap = new ymaps.Map('map', { center: [55.75160448800678,37.86277874901183], zoom: 11, type: 'yandex#map', controls: ['fullscreenControl','zoomControl','typeSelector','trafficControl'] }), searchStartPoint = new ymaps.control.SearchControl({ options: { useMapBounds: true, noPlacemark: true, noPopup: true, placeholderContent: 'Адрес начальной точки', size: 'large' } }), searchFinishPoint = new ymaps.control.SearchControl({ options: { useMapBounds: true, noCentering: true, noPopup: true, noPlacemark: true, placeholderContent: 'Адрес конечной точки', size: 'large', float: 'none', position: { left: 10, top: 44 } } }), calculator = new ymaps.DeliveryCalculator(myMap); myMap.events.add('click', function (e) { $('#car [value="0"]').attr('selected','selected'); $('#gr [value="1"]').attr('selected','selected'); console.log('clicked'); $("#car option[value='0']").prop("selected", true); $("#gr option[value='1']").prop("selected", true); $('#price').html('0'); $('#git').html('0'); }); myMap.controls.add(searchStartPoint); myMap.controls.add(searchFinishPoint); searchStartPoint.events .add('resultselect', function (e) { var results = searchStartPoint.getResultsArray(), selected = e.get('index'), point = results[selected].geometry.getCoordinates(); // Задаем начало маршрута. calculator.setStartPoint(point); $('#car [value="0"]').attr('selected','selected'); $('#gr [value="1"]').attr('selected','selected'); console.log('start changed'); $("#car option[value='0']").prop("selected", true); $("#gr option[value='1']").prop("selected", true); $('#price').html('0'); $('#git').html('0'); }) .add('load', function (event) { // По полю skip определяем, что это не дозагрузка данных. // По getResultsCount определяем, что есть хотя бы 1 результат. if (!event.get('skip') && searchStartPoint.getResultsCount()) { searchStartPoint.showResult(0); } }) searchFinishPoint.events .add('resultselect', function (e) { var results = searchFinishPoint.getResultsArray(), selected = e.get('index'), point = results[selected].geometry.getCoordinates(); // Задаем конец маршрута. calculator.setFinishPoint(point); console.log('finish'); $('#car [value="0"]').attr('selected','selected'); $('#gr [value="1"]').attr('selected','selected'); console.log('finish changed'); $("#car option[value='0']").prop("selected", true); $("#gr option[value='1']").prop("selected", true); $('#price').html('0'); $('#git').html('0'); }) .add('load', function (event) { // По полю skip определяем, что это не дозагрузка данных. // По getResultsCount определяем, что есть хотя бы 1 результат. if (!event.get('skip') && searchFinishPoint.getResultsCount()) { searchFinishPoint.showResult(0); } }); // Создаем многоугольник, используя вспомогательный класс Polygon. var myPolygon = new ymaps.Polygon([[[55.766151715515164,37.79095330462721],[55.75356855639397,37.79850640521313],[55.74349909306326,37.80949273333814],[55.743886428377806,37.81532922015455],[55.738657075830794,37.81670251117018],[55.73439560156551,37.82871880755689],[55.72703377267198,37.828375484803],[55.72160837502058,37.8242556117561],[55.71850780789872,37.832495357849865],[55.71405030956128,37.827688839295185],[55.70493991997083,37.8177324794319],[55.69679691561233,37.806402828552976],[55.68710064109693,37.829748775818615],[55.657220938890006,37.83867516742016],[55.64926209008561,37.83352532611159],[55.647514808235385,37.84416833148268],[55.65217405251573,37.85893120990064],[55.66013230690688,37.87197747454908],[55.66110271458949,37.886053707459226],[55.65217405251573,37.904249813416264],[55.647684506459626,37.91011404365754],[55.65156723179244,37.928996795122394],[55.65700239772937,37.945132964555995],[55.662824948956114,37.95234274238803],[55.672721289949145,37.94135641426302],[55.67912346542243,37.92796682686069],[55.68727016700978,37.94032644600129],[55.70530322765161,37.94650625557162],[55.70530322765161,37.959552520220065],[55.70491550779464,37.971225493852856],[55.71557639621969,37.978091948930995],[55.72371547114234,37.980495208208325],[55.7229403945373,38.00761770576693],[55.72681562307058,38.02375387520051],[55.72817186181235,38.0282170710013],[55.7405695653222,38.02581381172395],[55.74541134425993,38.03302358955598],[55.75276969280837,38.035770171587224],[55.75606113433963,38.01688742012235],[55.754125026045855,37.975688689653644],[55.75741635272983,37.96847891182161],[55.77367528489141,37.964015716020825],[55.783156517753284,37.96298574775912],[55.78896021092535,37.96367239326693],[55.79785752086631,37.9626424250052],[55.801918657684006,37.96470236152864],[55.81699915635809,37.966418975298176],[55.82125156955183,37.9564626154349],[55.823764139798215,37.93414663643099],[55.82762931429676,37.91663717598176],[55.82917527610911,37.90050100654818],[55.82492373264374,37.868228667680995],[55.820285152989335,37.84419607490755],[55.81583932630473,37.830806487505214],[55.80249878536347,37.82943319648959],[55.79398937604305,37.82325338691926],[55.78876676847471,37.81673025459504],[55.77522339951258,37.81707357734896],[55.77038533627813,37.79475759834505],[55.766151715515164,37.79095330462721]]], { // Описываем свойства геообъекта. // Содержимое балуна. hintContent: "Цена онлайн расчёта актуальна, если маршрут проходит через выделенную область", balloonContent: 'Цена онлайн расчёта актуальна, если маршрут проходит через выделенную область' }, { interactivityModel: 'default#transparent', fillColor: '#F5CEBA', fillOpacity: 0.5, strokeColor: '#FF0000', strokeWidth: 3 }); // Добавляем многоугольник на карту. myMap.geoObjects.add(myPolygon); });