Не выполняется построение маршрута

Пытаюсь получить координату пересечения маршрута с МКАД.

асинхронная функция ymaps.route([coordsCenter,coords]).then( выполняет код уже после появления метки на карте, как сделать так чтобы эта функция выполнялась последовательно?

ymaps.ready().then(function (){

var myMap = new ymaps.Map("map", {
        center: [55.7718353, 37.6473093],
        zoom: 10,
        controls: ['zoomControl', 'searchControl']
    }, {
        searchControlProvider: 'yandex#map'
    });
    
var searchControl = myMap.controls.get('searchControl');

    var myPolygonMKAD = new ymaps.Polygon([
[[55.57728350818837,37.69226369293517],[55.57956877296908,37.6984220448336],[55.58444274780114,37.71172580154736],[55.587681599422446,37.721059888919065],[55.58977789875752,37.72635993393238],[55.591020914202105,37.725568519316056],[55.593357497289325,37.726922871911675],[55.593656155115944,37.728515778152676],[55.59352441258932,37.73049996099603],[55.593149648662674,37.73387889252704],[55.594816229753846,37.737386570090806],[55.5991492627507,37.74768364539713],[55.60005587670201,37.749870483653176],[55.601059658749186,37.7517998298438],[55.60175513928126,37.753509693172965],[55.60264497804481,37.7553053871906],[55.60525665089259,37.76000556381521],[55.6070043509299,37.76317704923284],[55.60909206580662,37.76712101084644],[55.61205265899652,37.77239109807554],[55.61400646948218,37.77586350632188],[55.61547441955516,37.77933591456818],[55.61615144822552,37.77851305375368],[55.61702238591012,37.77815590615104],[55.61867047336508,37.77814208130225],[55.61944079635749,37.77699863265452],[55.619815706157944,37.77780164014426],[55.619108380766406,37.780866776827814],[55.61842229183072,37.78407880678671],[55.621020844451685,37.78928104694336],[55.62252645300766,37.79217480480156],[55.62446907224409,37.795679101412425],[55.62550102869376,37.79741172958643],[55.62655723925897,37.79892978103925],[55.62840183895264,37.801590235740925],[55.62993072197329,37.80399319837713],[55.632235702045264,37.807597494010906],[55.63500031108466,37.81171618049373],[55.636502345957204,37.81412548534775],[55.63805287150603,37.81632021348058],[55.63919976813444,37.81833237564723],[55.64039517664653,37.817211717684536],[55.641079364395026,37.81769632088539],[55.64215188903713,37.81861007752868],[55.64157847592447,37.82069508288066],[55.64179087501824,37.8222901729303],[55.6427010996155,37.82384956994854],[55.64512823561423,37.82726877139456],[55.64653584946117,37.829599914398585],[55.647919144405975,37.83158773464862],[55.64881703154799,37.833088419915285],[55.65053996652925,37.83518992000126],[55.651971573400644,37.836566537936164],[55.65379827330052,37.83789557250311],[55.655042564078244,37.83879545362761],[55.65531519758127,37.837464994137186],[55.65600030349965,37.83707867222002],[55.65673965655705,37.83716433527043],[55.65700521745551,37.83621986242106],[55.657778954168954,37.83656251462271],[55.65821035974125,37.83827778728781],[55.65867284546727,37.83990588815986],[55.65979037030306,37.839989036639274],[55.66214965264354,37.83997830780335],[55.664660402938644,37.839227289279215],[55.66828073694333,37.838090091992754],[55.6722160245188,37.836480825919836],[55.67475639640469,37.83560100202693],[55.677126853607795,37.83476409347823],[55.680541477769296,37.833473686332844],[55.683388257046275,37.83263536371116],[55.68361636182261,37.83111039558167],[55.68481897582062,37.829808088802146],[55.68631248412273,37.827947882547576],[55.68832962335802,37.82542909967714],[55.68926068988397,37.827086327637375],[55.68971674110705,37.8282550163459],[55.69130758383466,37.82972296438027],[55.69251051810338,37.829517213989334],[55.693425558008386,37.82963103343453],[55.694825357334636,37.82970193753549],[55.698267040110814,37.83055838974283],[55.70088687602731,37.831745781428054],[55.70315397112446,37.833176326483226],[55.70537246953142,37.83456395619411],[55.70651619893995,37.83251027739822],[55.70778104906027,37.83122907479864],[55.7089537641852,37.83201406645004],[55.709302636767006,37.832520108363944],[55.70936074919889,37.833111980966265],[55.70910860108091,37.83603737085081],[55.71116748184668,37.83721085579012],[55.711748351996015,37.8357235893867],[55.71189249238761,37.83386485553005],[55.71318809145641,37.83466186223687],[55.713972425512644,37.83741133536723],[55.71495055513852,37.838873348170495],[55.71975910256614,37.83939895065619],[55.722366077077226,37.839743447593136],[55.72421446592756,37.83995861140599],[55.72603854747358,37.840173775218865],[55.72892360508975,37.8405397298282],[55.73222011608417,37.84090568443759],[55.738842431652614,37.84180220993321],[55.74297943604274,37.84213649948569],[55.74326606734547,37.84052420958015],[55.742971687129916,37.83946981914975],[55.74383544925292,37.83873432930457],[55.745030351821775,37.83897996338372],[55.74611289344673,37.83990038498441],[55.74706758733965,37.84242787369358],[55.74993290887672,37.84245213022248],[55.75277381629467,37.84260513278414],[55.75604710691746,37.84281963380798],[55.759320121688056,37.84307705017606],[55.763651362850446,37.84319064857887],[55.768030507514176,37.84339007767019],[55.77057376597902,37.84353365719019],[55.77227019433936,37.8435484906775],[55.774613783076724,37.84330936006359],[55.774780273744604,37.84208317653224],[55.77530676347256,37.840660777731216],[55.776262968979836,37.839704255275706],[55.77754644303508,37.839765316199625],[55.7807179031012,37.842634020078634],[55.783456757127354,37.84228248802243],[55.78762212778584,37.84184512527783],[55.794330938055026,37.84109021826956],[55.79761238357415,37.84075568010979],[55.80045843846166,37.84042114194996],[55.80224625801891,37.84021243350213],[55.804589920676634,37.83996080971007],[55.80645307895443,37.83991192636356],[55.808195306609946,37.839777212328535],[55.809707867183135,37.839706871309744],[55.81143786543885,37.83946486891401],[55.81202794986902,37.83816213555244],[55.81264219081012,37.83711689425626],[55.813145695246824,37.83700051749895],[55.81400769698772,37.83702525604977],[55.814760940983746,37.83683541787926],[55.81568331580943,37.837890124691675],[55.816652101425206,37.83868576524591],[55.817620862826985,37.838537268226915],[55.8192200551333,37.838283189533136],[55.82083270561491,37.83781108291923],[55.822348739410856,37.83697959812453],[55.82384055539863,37.83606228264141],[55.82549537717963,37.834570974429404],[55.82683609334861,37.83318695457768],[55.828273386168505,37.83124503525085],[55.828071081371206,37.8286701145965],[55.82890746899009,37.827210992892404],[55.82971062566178,37.82575187118826],[55.83030241465965,37.82686767013841],[55.8318845000154,37.82463607223795],[55.83341821572898,37.821546167452716],[55.83688998555853,37.814905017931885],[55.84031314771301,37.808306783755576],[55.84568575484501,37.79785689743354],[55.84765237479435,37.79405352505035],[55.84940161244043,37.790550560076774],[55.852899850560924,37.783973783572065],[55.856742527268516,37.77635630996977],[55.859409681662406,37.771163553317216],[55.86224559436634,37.76571330459896],[55.864309042721224,37.76170071991244],[55.86649304066269,37.75743064316081],[55.868438625558376,37.753761381228365],[55.870094557928724,37.75047835739432],[55.87136285161056,37.74796780975639],[55.87248633505578,37.74567183883964],[55.874467808864686,37.74198111923514],[55.87627426954024,37.738386959155115],[55.877767023941836,37.73547944458293],[55.87864078626206,37.73377624185842],[55.879538652600914,37.7319872084455],[55.88051414453542,37.730211586077644],[55.88092122044976,37.728977769930786],[55.88088955913863,37.72669789226804],[55.88124386274779,37.7254479828671],[55.88132527673698,37.72380647094998],[55.88226001764218,37.72301253708179],[55.883098249930626,37.72299107940966],[55.88427415667849,37.72296962173753],[55.887096186939104,37.71705803306893],[55.88833829733625,37.714767426570205],[55.88943566263283,37.71273431213698],[55.890442558315044,37.71052417190855],[55.891437369599906,37.70816382797541],[55.89211412809535,37.70680126579582],[55.89274264374363,37.70466622742004],[55.89345705918793,37.702391714175526],[55.893876056190315,37.70051416786499],[55.89425887682363,37.6988082829315],[55.89459647926829,37.69659814270327],[55.894885850450514,37.6931005421479],[55.89507876336695,37.688336938937404],[55.895078763375,37.68404540451354],[55.895480787773494,37.68069566073008],[55.89542464778452,37.67751757832354],[55.89473362942686,37.67751288445776],[55.89450906463882,37.6764735284645],[55.89386701314515,37.67525312336268],[55.89320987897207,37.67444309624018],[55.89276374481495,37.67333802612601],[55.89365600797468,37.671814531405516],[55.894608536443606,37.669743866045984],[55.89551281390002,37.668874830325066],[55.895633382632674,37.665591806490724],[55.89594685955355,37.66089257629683],[55.89623622062632,37.65572127731635],[55.896670258157485,37.651107877810574],[55.897345417966015,37.64507827194498],[55.89820743520255,37.63901647957142],[55.89914176783363,37.63269719513227],[55.90029307566987,37.62663540275871],[55.90156489941582,37.620230287631216],[55.9028547631861,37.6149302426176],[55.90412047548618,37.6099735203577],[55.90580501392798,37.604212135393915],[55.90734484079985,37.5987940731842],[55.9082578598251,37.595135540087654],[55.90937725798987,37.591782778819066],[55.908929803944424,37.590962022860545],[55.90801077429669,37.58790430458357],[55.908730933802666,37.58724984558393],[55.909595710103474,37.58629497917455],[55.91065330218753,37.58525428207675],[55.91115948985806,37.58010444076855],[55.91128076299838,37.576059669574256],[55.91099226788064,37.571585744937416],[55.91010191163767,37.56268081100777],[55.90892377759049,37.55083617599816],[55.908672553173425,37.54750219019264],[55.907336554224806,37.54700061710687],[55.90606266047677,37.5443666878542],[55.90592555054507,37.5427895489534],[55.906663829060804,37.54135188492133],[55.90799269481092,37.54096564682315],[55.907706435077536,37.53899154098819],[55.90730265458927,37.534871667941246],[55.90645892052246,37.53111657532015],[55.90554284552777,37.52710399063363],[55.90264983444384,37.51976546676873],[55.89949138326813,37.512555688937056],[55.89401773042376,37.49980983169832],[55.89282930877456,37.49981921942983],[55.89214728745624,37.49866989286695],[55.89112084152095,37.49628540905264],[55.89119017646697,37.49383387001287],[55.88882065955352,37.488115400393426],[55.88846736750387,37.48588681997817],[55.88729403790066,37.48498861523432],[55.88644270627921,37.48362135918897],[55.88522239389725,37.48329010637563],[55.883987721152074,37.48327133091254],[55.883448010554176,37.48113092811868],[55.88482893104965,37.47882422836593],[55.886167592899525,37.47689303787521],[55.885166615893745,37.47294482620531],[55.88406272225048,37.46898655625166],[55.883368862417825,37.46597242387106],[55.88301834728365,37.45968666704477],[55.882968596490535,37.45496866138763],[55.88282085133419,37.4496096077758],[55.87963062430932,37.44683083923632],[55.8801553111172,37.44332250984461],[55.88084885172272,37.440243333895275],[55.87922655031162,37.43556556137396],[55.87845156073534,37.43288335235891],[55.877121678616554,37.43294772537512],[55.87628105492196,37.4310165348844],[55.87558517054387,37.42998656662267],[55.87525494150732,37.427068323214506],[55.87584905017462,37.42492255600265],[55.875251925716576,37.42312011154478],[55.87384050395034,37.418678373416334],[55.873026198726144,37.4161785546142],[55.87216361968084,37.413936227877564],[55.87028156222913,37.4097305241424],[55.86849521470981,37.407115442871074],[55.866805311588024,37.404714938320936],[55.86556178796092,37.4030654522953],[55.86419755792379,37.401544712302204],[55.86264543038533,37.40004056323295],[55.86118978149827,37.39879390622916],[55.85953342395636,37.39758887915671],[55.8574666597686,37.39646968277275],[55.85536385056615,37.39528664789309],[55.854143426296204,37.39458784209265],[55.85268155919984,37.39397486698094],[55.850988898726264,37.39304932416695],[55.84917545092758,37.392080866008854],[55.8479928124722,37.3916280751165],[55.84635139590018,37.39156152232227],[55.84507246202566,37.39173278320166],[55.84374519376226,37.39233319752344],[55.84130933701177,37.39415109767475],[55.8395494965066,37.39498852514191],[55.83781372580793,37.395439714511426],[55.835912299444686,37.395754880838886],[55.83357603847405,37.39542631700364],[55.832777594588094,37.398557462444565],[55.83193082737079,37.39846995706765],[55.83125171347983,37.39760830080607],[55.8306041862204,37.39600802954466],[55.830753744508044,37.39462233500446],[55.83027992362961,37.39442586657834],[55.82779871494196,37.393672425159636],[55.82497913974892,37.39309064511806],[55.81937710365358,37.39138227852945],[55.81611816978813,37.390406922423495],[55.81293145779599,37.38938865097337],[55.810658364493925,37.388679288075366],[55.808385137877345,37.38796992517771],[55.80374160066126,37.385392485087785],[55.801544952015384,37.38357110239316],[55.799033918629355,37.381234735567986],[55.79668897302183,37.3789065781431],[55.79429553180199,37.37679299743961],[55.79206363564511,37.373857319672815],[55.79140325989363,37.375084430297136],[55.78979231901632,37.376165360530166],[55.78869817092681,37.37583813103043],[55.788492636909346,37.374926179965534],[55.78724809408917,37.37291322316859],[55.78762933532592,37.3705119960823],[55.78682569366371,37.37051402827336],[55.783780245204944,37.3694921887765],[55.77964775061766,37.369122208207635],[55.774477615917505,37.36914364671252],[55.77202109822404,37.36898848542219],[55.771040129468325,37.37029244583593],[55.77057803219192,37.371441244959335],[55.769121587331554,37.37202222943661],[55.768047266570164,37.37163924599851],[55.767882444009274,37.370529956368514],[55.76852052829329,37.36882636123939],[55.76757092003937,37.3688523985202],[55.76717654346614,37.370168781336076],[55.7668547450333,37.37071268795567],[55.76606597334181,37.37205799326026],[55.76521424006368,37.37234534459218],[55.764333376413106,37.372405063125115],[55.763926580346386,37.37115120917535],[55.76359689953231,37.37010262297994],[55.763082708027056,37.36980789504706],[55.76239306133167,37.368703455050486],[55.7523623659687,37.36844324774304],[55.74910691862189,37.36861292812082],[55.74610537228883,37.369237273326746],[55.7434425161023,37.37011973606903],[55.74148156896937,37.37121677553255],[55.73830977547549,37.3727374974086],[55.73518439024726,37.373904859287464],[55.73491610187777,37.37580178201838],[55.73452480486814,37.377793183022234],[55.73291889199162,37.37860024955624],[55.73184265946406,37.37909414898456],[55.731385270707854,37.37810879597031],[55.731293835947845,37.37648254102927],[55.729819680893776,37.37711051785666],[55.72800641620114,37.37816764812641],[55.72314428063222,37.38046307033101],[55.722326782602345,37.38095604807763],[55.717264015754424,37.383208841403],[55.71565454200566,37.38387519423627],[55.715450137985776,37.385957753429444],[55.71494442138113,37.386947136342165],[55.71452443268891,37.3893317657811],[55.713595671473634,37.390214358171725],[55.713288666826465,37.38931879161018],[55.71214163546391,37.38821430399485],[55.71115584444201,37.386777804960545],[55.710589499366556,37.38742386511948],[55.709317473956254,37.388720645427895],[55.70773040706633,37.390618240555646],[55.706264434488844,37.39277332774887],[55.70328324373518,37.396439280946694],[55.70340384302717,37.39770197486714],[55.70349963980026,37.39962654788877],[55.702382608427264,37.40072911190074],[55.70199031001662,37.40104596477821],[55.701351110592036,37.400563871582946],[55.70041197755399,37.40071548414262],[55.69945462286205,37.40196284683519],[55.696654525926796,37.40589479817077],[55.694411732053254,37.408925527277],[55.6922044328573,37.411296265885795],[55.69091818987209,37.41220788279019],[55.68965614651747,37.413248245727324],[55.68526200441535,37.41493309706341],[55.683801213805246,37.41841912316698],[55.68280105238837,37.41924439792782],[55.68155839447078,37.41897474322993],[55.68070366184822,37.417803866303],[55.67981858918073,37.418637847922845],[55.672761624370956,37.4241071644622],[55.67003106699422,37.426119803232965],[55.66540830180015,37.42937698698666],[55.66401630284737,37.43009060543671],[55.664128279624876,37.43183419214844],[55.663236354340874,37.43454888937571],[55.663344651040894,37.435343426652395],[55.663803826380295,37.437018331894265],[55.663654810180546,37.43830820585455],[55.66306567314053,37.438742186563196],[55.66227552083551,37.43780770352248],[55.66171408088273,37.43585290675257],[55.66151305373195,37.43546237144042],[55.6612565553573,37.435110454258385],[55.660889113953594,37.43517909609067],[55.66057018955284,37.43516190723451],[55.66025126255474,37.43548804113224],[55.658975528440685,37.43533345501904],[55.65440581117807,37.44057244381937],[55.64866238608535,37.44775754712726],[55.64285288321366,37.45414519389362],[55.64058729537477,37.45658675312822],[55.64099163206679,37.457955428756904],[55.64073231449964,37.45966281175244],[55.64060203851392,37.461875948104876],[55.63990457218574,37.463383977401506],[55.639237813856255,37.463138469832785],[55.63737022413293,37.462990777449214],[55.636742106737636,37.461236270978006],[55.63206885746223,37.46681756713867],[55.628658423094784,37.470719605950734],[55.6261931048993,37.473870344329846],[55.621457814523936,37.47951087387405],[55.61297829936983,37.488927052463694],[55.61310293029835,37.49075875572733],[55.612426235904984,37.49339219399278],[55.6115234539692,37.49402421334595],[55.61027254357408,37.494258283790515],[55.60875612697617,37.49618554638371],[55.60763263788615,37.49506189163845],[55.60442951991278,37.498908561029864],[55.600594347756996,37.50304771596331],[55.60050445936363,37.50390216487409],[55.59974153260965,37.50507146669415],[55.598623794328404,37.506574777375604],[55.597603221802125,37.508421410810975],[55.59648541130712,37.51056144436505],[55.595561974688565,37.512958969984574],[55.594614192915515,37.515546826836285],[55.5938608024751,37.518563837130415],[55.58873280127845,37.54019317062651],[55.58365274329664,37.5610500279265],[55.580144636148184,37.57566270263901],[55.5766605265908,37.59010371597474],[55.57603914240949,37.591616481859155],[55.57685220074202,37.593730062562926],[55.57740855506495,37.59478148849679],[55.578083634679984,37.59551104934894],[55.57826682787996,37.59714183243013],[55.57762593510947,37.598751157839324],[55.576547409363684,37.60212001236222],[55.575395914301026,37.60499534042638],[55.57511967693839,37.61005935104676],[55.57340030948451,37.63722476394833],[55.57196473536693,37.66215857895098],[55.571722332073165,37.667002242549025],[55.57169133955509,37.67052707107829],[55.571838752083146,37.67294508250508],[55.572107740533006,37.67476227911263],[55.5722916242245,37.67670822175299],[55.57271865657947,37.678525418360564],[55.57389183177585,37.683734268267806],[55.57624035588592,37.68459995122738],[55.57751903034456,37.685379803498456],[55.57793688874889,37.68651035459822],[55.57799462883255,37.68928644092864],[55.57728350818837,37.69226369293517]]
],
{}, {
    fillColor: '#1E90FF',
    opacity: 0.2,
    strokeWidth: 1,
});
myMap.geoObjects.add(myPolygonMKAD);

var myPlacemark;    
    // Слушаем клик на карте.
myMap.events.add('click', function (e) {
    var coords = e.get('coords');
    var coordsCenter = [55.77183533, 37.64730933];  
    ymaps.route([coordsCenter,coords]).then( //ВОТ ЗДЕСЬ ПРОБЛЕМА, ПРОВАЛИВАЕТСЯ ВНУТРЬ ФУНКЦИИ УЖЕ ПОСЛЕ ПОЯВЛЕНИЯ МЕТКИ, 
                                             //КАК СДЕЛАТЬ ТАК, ЧТОБЫ ЭТА ФУНКЦИЯ ВЫЗЫВАЛАСЬ ПОСЛЕДОВАТЕЛЬНО
        function (res) {
            // Объединим в выборку все сегменты маршрута.
            var pathsObjects = ymaps.geoQuery(res.getPaths()),
                edges = [];
            
            // Переберем все сегменты и разобьем их на отрезки.
            pathsObjects.each(function (path) {
                var coordinates = path.geometry.getCoordinates();
                for (var i = 1, l = coordinates.length; i < l; i++) {
                    edges.push({
                        type: 'LineString',
                        coordinates: [coordinates[i], coordinates[i - 1]]
                    });
                }
            });
        
            // Создадим новую выборку, содержащую:
            // - отрезки, описываюшие маршрут;
            // - начальную и конечную точки;
            // - промежуточные точки.
            var routeObjects = ymaps.geoQuery(edges)
                .add(res.getWayPoints())
                .add(res.getViaPoints())
                .setOptions('strokeWidth', 3)
                .addToMap(myMap),
            // Найдем все объекты, попадающие внутрь МКАД.
            objectsInMoscow = routeObjects.searchInside(myPolygonMKAD),
            // Найдем объекты, пересекающие МКАД.
            boundaryObjects = routeObjects.searchIntersect(myPolygonMKAD);
            // Раскрасим в разные цвета объекты внутри, снаружи и пересекающие МКАД.
            boundaryObjects.setOptions({
                strokeColor: '#06ff00',
                preset: 'islands#greenIcon'
            });
            objectsInMoscow.setOptions({
                strokeColor: '#ff0005',
                preset: 'islands#redIcon'
            });
            // Объекты за пределами МКАД получим исключением полученных выборок из
            // исходной.
            PeresechenieMKAD = routeObjects.remove(objectsInMoscow).remove(boundaryObjects).get(0).geometry.getBounds()[0];
            routeObjects.remove(objectsInMoscow).remove(boundaryObjects).addToMap(myMap);
            routeObjects.removeFromMap(myMap);
            alert('PeresechenieMKAD:'+PeresechenieMKAD);
            return PeresechenieMKAD;
        },
        function(error){
                  alert('Error'+error.msg);
        },
    );
    // Если метка уже создана – просто передвигаем ее.
    if (myPlacemark) {
        myPlacemark.geometry.setCoordinates(coords);
    }
    // Если нет – создаем.
    else {
        myPlacemark = createPlacemark(coords);
        myMap.geoObjects.add(myPlacemark);
        // Слушаем событие окончания перетаскивания на метке.
        myPlacemark.events.add('dragend', function () {
            getAddress(myPlacemark.geometry.getCoordinates());
        });
    }   
});

// Создание метки.
function createPlacemark(coords) {
    return new ymaps.Placemark(coords, {
        iconCaption: 'поиск...'
    }, {
        preset: 'islands#violetDotIconWithCaption',
        draggable: true
    });
}        

})


Ответы (1 шт):

Автор решения: Никифоров Валерий

4 дня танцев с бубнами и вот рабочий результат.

function OpredelenieTochkiPeresecheniyaSMKAD(coords){
    
        var coordsCenter = [55.77183533, 37.64730933];  
        ymaps.route([coordsCenter,coords]).then(
            function (res) {
            // Объединим в выборку все сегменты маршрута.
                var pathsObjects = ymaps.geoQuery(res.getPaths()),
                    edges = [];
                
                // Переберем все сегменты и разобьем их на отрезки.
                pathsObjects.each(function (path) {
                    var coordinates = path.geometry.getCoordinates();
                    for (var i = 1, l = coordinates.length; i < l; i++) {
                        edges.push({
                            type: 'LineString',
                            coordinates: [coordinates[i], coordinates[i - 1]]
                        });
                    }
                });

                var routeObjects = ymaps.geoQuery(edges)
                    .add(res.getWayPoints())
                    .add(res.getViaPoints())
                    .setOptions('strokeWidth', 3)
                    .addToMap(myMap),
                // Найдем все объекты, попадающие внутрь МКАД.
                objectsInMoscow = routeObjects.searchInside(myPolygonMKAD),
                // Найдем объекты, пересекающие МКАД.
                boundaryObjects = routeObjects.searchIntersect(myPolygonMKAD);
                // Объекты за пределами МКАД получим исключением полученных выборок из
                // исходной.
                PeresechenieMKAD = routeObjects.remove(objectsInMoscow).remove(boundaryObjects).get(0).geometry.getBounds()[0];
                routeObjects.remove(objectsInMoscow).remove(boundaryObjects).addToMap(myMap);
                routeObjects.removeFromMap(myMap);
                vivodStoimosti(PeresechenieMKAD,coords);
            },
            function(error){
                      alert('Error'+error.msg);
            },
        );
    }
    function vivodStoimosti(PeresechenieMKAD, coords){  
        
        var summaZakaza = 3010;
        
        if(myPolygonMKAD.geometry.contains(coords) || myPolygonKhimki.geometry.contains(coords)) {

            // Адрес внутри МКАД

        } else {

            // Адрес за МКАД
            // Расчет расстояния до адреса

            multiRouteModelCenter = new ymaps.multiRouter.MultiRouteModel([PeresechenieMKAD,coords],{
                results: 1,
                avoidTrafficJams: false
            });
                        
            multiRouteViewCenter = new ymaps.multiRouter.MultiRoute(multiRouteModelCenter);
            
            
            myMap.geoObjects.add(multiRouteViewCenter);
            
            // Добавляем мультимаршрут на карту.        
            multiRouteViewCenter.model.events.add("requestsuccess", function (event) {
                var routes = event.get("target").getRoutes();
                for (var i = 0, l = routes.length; i < l; i++) {
                    distance = routes[i].properties.get("distance").text;
                    // тут сам расчет доставки ...
        
                    multiRouteViewCenter.getActiveRoute().properties.set('DeliveryCost_0', DeliveryCost_0)
                    multiRouteViewCenter.getActiveRoute().properties.set('DeliveryCost_9', DeliveryCost_9)
                    multiRouteViewCenter.getActiveRoute().properties.set('DeliveryCost_30', DeliveryCost_30)
                    multiRouteViewCenter.getActiveRoute().properties.set('summaZakaza', summaZakaza)
                    multiRouteViewCenter.getActiveRoute().options.set('balloonContentBodyLayout', myBalloonContentBodyLayout);
                    multiRouteViewCenter.getActiveRoute().options.set('iconContentLayout', myIconContentLayout);
                    multiRouteViewCenter.getActiveRoute().options.set('balloonContentLayout', myBalloonContentLayout);
                    multiRouteViewCenter.getActiveRoute().options.set('preset', 'twirl#nightStretchyIcon');
                    multiRouteViewCenter.getActiveRoute().balloon.open()
                    break;
                }
            });
        };
    };
→ Ссылка