mahal_map 1.3.5 → 1.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -114,6 +114,8 @@ declare class MahalMapDefaultMarker {
114
114
 
115
115
  declare class MahalMap {
116
116
  private static instance;
117
+ private isReady;
118
+ private readyCallbacks;
117
119
  private map;
118
120
  private maplibre;
119
121
  private camera;
@@ -122,6 +124,7 @@ declare class MahalMap {
122
124
  static create(options: IMahalMapOptions, maplibreObject?: {
123
125
  Map: typeof Map;
124
126
  } | typeof Map): MahalMap;
127
+ static onReady(callback: (map: Map) => void): void;
125
128
  static getInstance(): MahalMap;
126
129
  addMarker(marker: IMapMarker): any;
127
130
  init(map: Map): void;
package/dist/index.d.ts CHANGED
@@ -114,6 +114,8 @@ declare class MahalMapDefaultMarker {
114
114
 
115
115
  declare class MahalMap {
116
116
  private static instance;
117
+ private isReady;
118
+ private readyCallbacks;
117
119
  private map;
118
120
  private maplibre;
119
121
  private camera;
@@ -122,6 +124,7 @@ declare class MahalMap {
122
124
  static create(options: IMahalMapOptions, maplibreObject?: {
123
125
  Map: typeof Map;
124
126
  } | typeof Map): MahalMap;
127
+ static onReady(callback: (map: Map) => void): void;
125
128
  static getInstance(): MahalMap;
126
129
  addMarker(marker: IMapMarker): any;
127
130
  init(map: Map): void;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- 'use strict';var a0_0x5f5a40=a0_0x108b;(function(_0x49a1d2,_0x322306){var _0x17ae2b=a0_0x108b,_0xe05830=_0x49a1d2();while(!![]){try{var _0x1aeccf=parseInt(_0x17ae2b(0x12f))/0x1+parseInt(_0x17ae2b(0x123))/0x2*(parseInt(_0x17ae2b(0x108))/0x3)+-parseInt(_0x17ae2b(0xdb))/0x4*(parseInt(_0x17ae2b(0x16f))/0x5)+parseInt(_0x17ae2b(0x16d))/0x6*(-parseInt(_0x17ae2b(0xd4))/0x7)+parseInt(_0x17ae2b(0x12e))/0x8*(-parseInt(_0x17ae2b(0x17c))/0x9)+parseInt(_0x17ae2b(0x151))/0xa*(-parseInt(_0x17ae2b(0xd2))/0xb)+parseInt(_0x17ae2b(0x15c))/0xc*(parseInt(_0x17ae2b(0x15a))/0xd);if(_0x1aeccf===_0x322306)break;else _0xe05830['push'](_0xe05830['shift']());}catch(_0x2b076a){_0xe05830['push'](_0xe05830['shift']());}}}(a0_0x3539,0xe5bae));function a0_0x108b(_0x54b600,_0x258c9e){var _0x3136b1=a0_0x3539();return a0_0x108b=function(_0x45202b,_0xb243a){_0x45202b=_0x45202b-0xc5;var _0x306b46=_0x3136b1[_0x45202b];return _0x306b46;},a0_0x108b(_0x54b600,_0x258c9e);}var D=Object[a0_0x5f5a40(0x179)],u=Object[a0_0x5f5a40(0x122)],F=Object[a0_0x5f5a40(0x163)],N=Object[a0_0x5f5a40(0x106)],O=Object['getPrototypeOf'],U=Object[a0_0x5f5a40(0x176)][a0_0x5f5a40(0x18e)],w=(_0x21054c,_0x58dba1)=>{var _0x3ae7a9=a0_0x5f5a40,_0x484c88={'bvLNy':function(_0x265cfe,_0x4ded42,_0x4c9ce8,_0x3f9e95){return _0x265cfe(_0x4ded42,_0x4c9ce8,_0x3f9e95);}};for(var _0x69c48b in _0x58dba1)_0x484c88[_0x3ae7a9(0x139)](u,_0x21054c,_0x69c48b,{'get':_0x58dba1[_0x69c48b],'enumerable':!0x0});},T=(_0x3df70d,_0x64d142,_0x323a20,_0x38537b)=>{var _0xc8e1bd=a0_0x5f5a40,_0x5b4fe0={'YKQtP':function(_0x3a021e,_0x517e14){return _0x3a021e==_0x517e14;},'lMAlV':function(_0x1d2652,_0x3d0300){return _0x1d2652(_0x3d0300);},'AeIJb':function(_0x1844a0,_0x5c1f11){return _0x1844a0!==_0x5c1f11;},'xCqbk':function(_0xf1f3a4,_0xf1e107,_0x352c3f,_0x453f56){return _0xf1f3a4(_0xf1e107,_0x352c3f,_0x453f56);},'UMRpQ':function(_0x46e640,_0x406b3a,_0x334478){return _0x46e640(_0x406b3a,_0x334478);}};if(_0x64d142&&typeof _0x64d142==_0xc8e1bd(0x15e)||_0x5b4fe0[_0xc8e1bd(0x136)](typeof _0x64d142,_0xc8e1bd(0x13f))){for(let _0x1149b3 of _0x5b4fe0[_0xc8e1bd(0xf4)](N,_0x64d142))!U['call'](_0x3df70d,_0x1149b3)&&_0x5b4fe0[_0xc8e1bd(0xcc)](_0x1149b3,_0x323a20)&&_0x5b4fe0[_0xc8e1bd(0x14f)](u,_0x3df70d,_0x1149b3,{'get':()=>_0x64d142[_0x1149b3],'enumerable':!(_0x38537b=_0x5b4fe0['UMRpQ'](F,_0x64d142,_0x1149b3))||_0x38537b[_0xc8e1bd(0x187)]});}return _0x3df70d;},$=(_0x29d0c1,_0x1b7ff3,_0x2addf2)=>(_0x2addf2=_0x29d0c1!=null?D(O(_0x29d0c1)):{},T(_0x1b7ff3||!_0x29d0c1||!_0x29d0c1['__esModule']?u(_0x2addf2,a0_0x5f5a40(0x17a),{'value':_0x29d0c1,'enumerable':!0x0}):_0x2addf2,_0x29d0c1)),Z=_0x11b3c3=>T(u({},a0_0x5f5a40(0x173),{'value':!0x0}),_0x11b3c3),V={};w(V,{'MahalMap':()=>g,'MahalMapDefaultMarker':()=>f,'Router':()=>_,'Search':()=>G,'keyUtils':()=>b}),module[a0_0x5f5a40(0x126)]=Z(V);var C=a0_0x5f5a40(0x103),v=a0_0x5f5a40(0x117),S='https://mtile.gram.tj/custom-styles/mapstyle.json',P=a0_0x5f5a40(0x154);function a0_0x3539(){var _0x1aad8d=['getElementsByTagName','TLUuN','cursor','mWRHn','aYOYS','wgCDO','length','color','NdIyC','#278960','IaXCf','xSxoE','props','gMdgG','toString','geometry','dark','kakcs','error','lMAlV','maplibre','maplibregl','map','resetNorth','apply','KzsxY','forEach','setBearing','routes','charCodeAt','zKldq','isDraggable','oOvZJ','{}.constructor(\x22return\x20this\x22)(\x20)','https://platform.mahal.tj/api/','getCoordinates','console','getOwnPropertyNames','GBcri','56112WnorZV','setPitch','Map','RPoxm','vFwvl','toqUw','dsBAL','XQyPF','QXISo','__proto__','geojson','request','log','options','rLsTo','https://mtile.gram.tj/custom-styles/dark-style.json','\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</g>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<path\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20d=\x22M25\x2051C27.7614\x2051\x2030\x2053.2386\x2030\x2056C30\x2058.7614\x2027.7614\x2061\x2025\x2061C22.2386\x2061\x2020\x2058.7614\x2020\x2056C20\x2053.2386\x2022.2386\x2051\x2025\x2051Z\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fill=\x22','getMap','FxHXL','\x0a\x20\x20\x20\x20\x20\x20\x20\x20</g>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<defs>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<filter\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id=\x22filter0_d_367_31358\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20x=\x220\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20y=\x220\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width=\x2250\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height=\x2255\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20filterUnits=\x22userSpaceOnUse\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color-interpolation-filters=\x22sRGB\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feFlood\x20flood-opacity=\x220\x22\x20result=\x22BackgroundImageFix\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feColorMatrix\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20in=\x22SourceAlpha\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type=\x22matrix\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20values=\x220\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x20127\x200\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20result=\x22hardAlpha\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feOffset\x20dy=\x222\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feGaussianBlur\x20stdDeviation=\x222\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feComposite\x20in2=\x22hardAlpha\x22\x20operator=\x22out\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feColorMatrix\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type=\x22matrix\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20values=\x220\x200\x200\x200\x200.250234\x200\x200\x200\x200\x200.660089\x200\x200\x200\x200\x200.488619\x200\x200\x200\x200.24\x200\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feBlend\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20mode=\x22normal\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20in2=\x22BackgroundImageFix\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20result=\x22effect1_dropShadow_367_31358\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feBlend\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20mode=\x22normal\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20in=\x22SourceGraphic\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20in2=\x22effect1_dropShadow_367_31358\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20result=\x22shape\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</filter>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<clipPath\x20id=\x22clip0_367_31358\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<rect\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width=\x2222\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height=\x2222\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fill=\x22white\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20transform=\x22translate(14\x2012)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</clipPath>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</defs>\x0a\x20\x20\x20\x20\x20\x20</svg>','dCypO','fill=\x22','kTEFO','setStyle','defaults','setZoom','defineProperty','2bzLpHt','ivuUh','cLqWf','exports','element','SvhZW','GYjAO','lWqMX','getPitch','saVuq','setLngLat','319000jwWjQl','306613peZGOt','getAnchor','jOXxp','Bearer\x20','WAugG','trace','use','YKQtP','script','get','bvLNy','remove','mYBXp','includes','gmqZk','zYXOm','function','coordinates','addTo','light','UeAJe','Aywbh','mpGLY','interceptors','vnJVp','easeTo','searchParams','Ошибка\x20при\x20поиске\x20адреса:','route','flyTo','rsaIF','Authorization','xCqbk','getCamera','56560uwBOVj','ENzmF','init','https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json','\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stroke=\x22white\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stroke-width=\x222\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<g\x20clip-path=\x22url(#clip0_367_31358)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','NddEv','string','common','MFuNq','1160887oHCStW','warn','924DbQpSu','QvzlY','object','setCenter','zoom','camera','applyColorToCustomSvg','getOwnPropertyDescriptor','hXuhx','instance','theme','info','gAmLi','HNDoH','constructor','mahal_map.sdk.js','bpbvt','3314958OXriai','OgiCm','40585EukGzN','hSccv','headers','KTDOr','__esModule','tYwGB','fOnrU','prototype','AAeRq','AiYKE','create','default','aGxzy','351hpljdr','SixJP','anchor','yBxuc','QIXkO','ByxUP','data','QmcMs','hiToG','bind','ErlRb','enumerable','draggable','MFRJd','KAWHG','exception','CjOPw','reject','hasOwnProperty','[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','innerHTML','innerSvg','push','post','getElement','getBearing','QMvgO','createElement','[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана','services/getAddress','services/getRoutes','replace','Marker','toggle3D','nFKdh','GVCuD','AeIJb','LNpaU','axios','destroy','UbcZh','aeHAH','2486osDjkH','center','21EiekEI','apikey','DfAlN','style','container','IRZEg','bQJLB','872JDXjZh','return\x20(function()\x20','Djnqr','status','src','HVdNt'];a0_0x3539=function(){return _0x1aad8d;};return a0_0x3539();}function k(_0x114a5b){var _0x3d1e1a=a0_0x5f5a40,_0x3e6f12={'ivuUh':function(_0x120307,_0x3f4c96){return _0x120307<_0x3f4c96;},'gmqZk':function(_0x3b79d2,_0xdc5340){return _0x3b79d2!==_0xdc5340;},'GYjAO':_0x3d1e1a(0x14d),'ENzmF':function(_0x5bc387,_0x498c4c){return _0x5bc387-_0x498c4c;},'vnJVp':function(_0x3d8cd2,_0x12abe8){return _0x3d8cd2<<_0x12abe8;},'hSccv':function(_0x1bd8bc,_0xae95a6){return _0x1bd8bc&_0xae95a6;},'HLfXR':function(_0x2d9edc,_0x3570d7){return _0x2d9edc>=_0x3570d7;},'IaXCf':function(_0x477bb7,_0xf7ad5e){return _0x477bb7&_0xf7ad5e;},'ByxUP':function(_0x445c97,_0x1fbfd2){return _0x445c97-_0x1fbfd2;},'QvzlY':function(_0x41ccf0,_0x2af81b){return _0x41ccf0>=_0x2af81b;},'SvhZW':function(_0x236188,_0x997ebb){return _0x236188&_0x997ebb;},'zKldq':function(_0x362310,_0x34fbf2){return _0x362310>>_0x34fbf2;},'RPoxm':function(_0x4f20f6,_0x3fc720){return _0x4f20f6*_0x3fc720;}};let _0xdde132=[],_0x14565d=0x0,_0x3d93f7=_0x114a5b[_0x3d1e1a(0xe7)],_0x4b38de=0x0,_0x3226a0=0x0;for(;_0x3e6f12[_0x3d1e1a(0x124)](_0x14565d,_0x3d93f7);){if(_0x3e6f12[_0x3d1e1a(0x13d)](_0x3e6f12[_0x3d1e1a(0x129)],_0x3e6f12['GYjAO']))this[_0x3d1e1a(0xf7)][_0x3d1e1a(0x14c)]({'speed':1.2,'curve':1.42,'essential':!0x0,..._0x11ad82});else{let _0x37cb70,_0xc1d3=0x0,_0x5671a0=0x0;do _0x37cb70=_0x3e6f12[_0x3d1e1a(0x152)](_0x114a5b['charCodeAt'](_0x14565d++),0x3f),_0x5671a0|=_0x3e6f12[_0x3d1e1a(0x147)](_0x3e6f12[_0x3d1e1a(0x170)](_0x37cb70,0x1f),_0xc1d3),_0xc1d3+=0x5;while(_0x3e6f12['HLfXR'](_0x37cb70,0x20));let _0x2b12f4=_0x3e6f12[_0x3d1e1a(0xeb)](_0x5671a0,0x1)?~(_0x5671a0>>0x1):_0x5671a0>>0x1;_0x4b38de+=_0x2b12f4,_0xc1d3=0x0,_0x5671a0=0x0;do _0x37cb70=_0x3e6f12[_0x3d1e1a(0x181)](_0x114a5b[_0x3d1e1a(0xfe)](_0x14565d++),0x3f),_0x5671a0|=_0x3e6f12[_0x3d1e1a(0x147)](_0x37cb70&0x1f,_0xc1d3),_0xc1d3+=0x5;while(_0x3e6f12[_0x3d1e1a(0x15d)](_0x37cb70,0x20));let _0x1e11e5=_0x3e6f12[_0x3d1e1a(0x128)](_0x5671a0,0x1)?~(_0x5671a0>>0x1):_0x3e6f12[_0x3d1e1a(0xff)](_0x5671a0,0x1);_0x3226a0+=_0x1e11e5,_0xdde132[_0x3d1e1a(0x192)]([_0x3e6f12[_0x3d1e1a(0x10b)](_0x3226a0,0.00001),_0x4b38de*0.00001]);}}return _0xdde132;}var h=class{constructor(_0x29e4ae){var _0x5a53e5=a0_0x5f5a40;this[_0x5a53e5(0xf7)]=_0x29e4ae;}['setZoom'](_0x5e1cbb,_0x4c6d1e=!0x0){var _0x26c5bc=a0_0x5f5a40;_0x4c6d1e?this[_0x26c5bc(0xf7)][_0x26c5bc(0x148)]({'zoom':_0x5e1cbb}):this[_0x26c5bc(0xf7)][_0x26c5bc(0x121)](_0x5e1cbb);}[a0_0x5f5a40(0xfc)](_0x6ac0e2,_0x48f3d5=!0x0){var _0x4dd881=a0_0x5f5a40;_0x48f3d5?this[_0x4dd881(0xf7)][_0x4dd881(0x148)]({'bearing':_0x6ac0e2}):this[_0x4dd881(0xf7)][_0x4dd881(0xfc)](_0x6ac0e2);}[a0_0x5f5a40(0x109)](_0x558136,_0x188660=!0x0){var _0x255ba4=a0_0x5f5a40;_0x188660?this[_0x255ba4(0xf7)][_0x255ba4(0x148)]({'pitch':_0x558136}):this[_0x255ba4(0xf7)][_0x255ba4(0x109)](_0x558136);}[a0_0x5f5a40(0xc9)](_0x2c7f56){var _0x383b3a=a0_0x5f5a40;this['map'][_0x383b3a(0x148)]({'pitch':_0x2c7f56?0x3c:0x0,'bearing':_0x2c7f56?this[_0x383b3a(0xf7)][_0x383b3a(0x195)]():0x0,'duration':0x320});}[a0_0x5f5a40(0xf8)](){var _0x5e8111=a0_0x5f5a40;this[_0x5e8111(0xf7)]['easeTo']({'bearing':0x0,'pitch':0x0,'duration':0x258});}[a0_0x5f5a40(0x14c)](_0x2891bb){var _0xb8c75a=a0_0x5f5a40;this['map'][_0xb8c75a(0x14c)]({'speed':1.2,'curve':1.42,'essential':!0x0,..._0x2891bb});}[a0_0x5f5a40(0x12b)](){var _0x164fec=a0_0x5f5a40;return this[_0x164fec(0xf7)][_0x164fec(0x12b)]();}},I=(_0x196563,_0x53ab6b)=>'<svg\x0a\x20\x20\x20\x20\x20\x20\x20\x20width=\x2250\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20height=\x2262\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20viewBox=\x220\x200\x2050\x2062\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20fill=\x22none\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20xmlns=\x22http://www.w3.org/2000/svg\x22\x0a\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<g\x20filter=\x22url(#filter0_d_367_31358)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<path\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fill-rule=\x22evenodd\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20clip-rule=\x22evenodd\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20d=\x22M25\x202C36.598\x202\x2046\x2011.402\x2046\x2023C46\x2033.1603\x2038.7844\x2041.6353\x2029.198\x2043.5803L25.6524\x2048.6575C25.5788\x2048.7633\x2025.4812\x2048.8497\x2025.3676\x2048.9093C25.254\x2048.9689\x2025.128\x2049\x2025\x2049C24.872\x2049\x2024.746\x2048.9689\x2024.6324\x2048.9093C24.5188\x2048.8497\x2024.4212\x2048.7633\x2024.3476\x2048.6575L20.802\x2043.5803C11.2156\x2041.6353\x204\x2033.1603\x204\x2023C4\x2011.402\x2013.402\x202\x2025\x202Z\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fill=\x22'+(_0x196563||a0_0x5f5a40(0xea))+a0_0x5f5a40(0x118)+(_0x196563||'#278960')+a0_0x5f5a40(0x155)+(_0x53ab6b??'')+a0_0x5f5a40(0x11b),f=class{constructor(_0x1a3cc4){var _0x1ddbd8=a0_0x5f5a40;this[_0x1ddbd8(0xed)]=_0x1a3cc4,this[_0x1ddbd8(0x127)]=this['createElement']();}[a0_0x5f5a40(0x197)](){var _0x42fc59=a0_0x5f5a40,_0x24a91d={'mYBXp':'pointer'};let _0xf6fdf0=document[_0x42fc59(0x197)]('div');_0xf6fdf0['style'][_0x42fc59(0xe3)]=_0x24a91d[_0x42fc59(0x13b)];let _0x4b9f97=this[_0x42fc59(0xed)]['svg']?this[_0x42fc59(0x162)](this[_0x42fc59(0xed)]['svg']):I(this[_0x42fc59(0xed)]['color']??_0x42fc59(0xea),this['props'][_0x42fc59(0x191)]);return _0xf6fdf0[_0x42fc59(0x190)]=_0x4b9f97,this['props'][_0x42fc59(0x188)]&&(_0xf6fdf0[_0x42fc59(0x188)]=!0x0),_0xf6fdf0;}[a0_0x5f5a40(0x162)](_0x130a86){var _0x5b44f9=a0_0x5f5a40;return this[_0x5b44f9(0xed)][_0x5b44f9(0xe8)]?_0x130a86[_0x5b44f9(0xc7)](/fill="[^"]*"/g,_0x5b44f9(0x11d)+this[_0x5b44f9(0xed)][_0x5b44f9(0xe8)]+'\x22'):_0x130a86;}[a0_0x5f5a40(0x194)](){var _0x5535d0=a0_0x5f5a40;return this[_0x5535d0(0x127)];}[a0_0x5f5a40(0x104)](){var _0x2b27ca=a0_0x5f5a40;return this['props'][_0x2b27ca(0x140)];}[a0_0x5f5a40(0x100)](){var _0x28d602=a0_0x5f5a40;return!!this[_0x28d602(0xed)]['draggable'];}[a0_0x5f5a40(0x130)](){var _0x1a5edb=a0_0x5f5a40,_0x5aaf05={'aGxzy':_0x1a5edb(0xd3)};return this[_0x1a5edb(0xed)][_0x1a5edb(0x17e)]||_0x5aaf05[_0x1a5edb(0x17b)];}};function A(_0x2e15af,_0xa9329e,_0x4dee81){var _0x4d0abe=a0_0x5f5a40,_0x33883a={'KzsxY':_0x4d0abe(0xd3)};return new _0x2e15af[(_0x4d0abe(0xc8))]({'element':_0x4dee81[_0x4d0abe(0x194)](),'draggable':_0x4dee81['isDraggable']?.()??!0x1,'anchor':_0x4dee81['getAnchor']?.()??_0x33883a[_0x4d0abe(0xfa)]})[_0x4d0abe(0x12d)](_0x4dee81[_0x4d0abe(0x104)]())[_0x4d0abe(0x141)](_0xa9329e);}var d={'dark':v,'light':S},n=class n{constructor(){}static[a0_0x5f5a40(0x179)](_0x5603bf,_0x485c1f){var _0x308878=a0_0x5f5a40,_0x563280={'KAWHG':_0x308878(0x18f),'bpbvt':function(_0x572306,_0x6f2d62){return _0x572306===_0x6f2d62;},'vFwvl':_0x308878(0xf7)};if(n[_0x308878(0x165)])return n[_0x308878(0x165)];let _0x48b4a4=window[_0x308878(0xf6)]||_0x485c1f;if(!_0x48b4a4)throw new Error(_0x563280[_0x308878(0x18a)]);let _0x50563d=_0x5603bf['autoAddVectorSource']?P:_0x5603bf['style']?_0x5603bf[_0x308878(0xd7)]:_0x563280[_0x308878(0x16c)](_0x5603bf[_0x308878(0x166)],_0x308878(0xf1))?d[_0x308878(0xf1)]:d[_0x308878(0x142)],_0x530a7f=new n();return _0x530a7f[_0x308878(0x115)]=_0x5603bf,_0x530a7f['maplibre']=_0x48b4a4,_0x530a7f[_0x308878(0xf7)]=new _0x48b4a4[(_0x308878(0x10a))]({'container':_0x5603bf[_0x308878(0xd8)]||_0x563280[_0x308878(0x10c)],'style':_0x50563d,'center':_0x5603bf[_0x308878(0xd3)]||[69.624024,40.279687],'zoom':_0x5603bf[_0x308878(0x160)]||0x5,'attributionControl':_0x5603bf['attributionControl']!==!0x1}),n[_0x308878(0x165)]=_0x530a7f,_0x530a7f;}static['getInstance'](){var _0x2f9a7b=a0_0x5f5a40,_0x31ee7d={'QXISo':_0x2f9a7b(0x198)};if(!n[_0x2f9a7b(0x165)])throw new Error(_0x31ee7d[_0x2f9a7b(0x110)]);return n[_0x2f9a7b(0x165)];}['addMarker'](_0x522877){var _0x574b05=a0_0x5f5a40,_0x22c20a={'wgCDO':function(_0x15029c,_0x365ad8,_0x5d8116,_0x29d7eb){return _0x15029c(_0x365ad8,_0x5d8116,_0x29d7eb);}};return _0x22c20a[_0x574b05(0xe6)](A,this[_0x574b05(0xf5)],this[_0x574b05(0xf7)],_0x522877);}[a0_0x5f5a40(0x153)](_0x4d31da){var _0x57819c=a0_0x5f5a40;this[_0x57819c(0xf7)]=_0x4d31da,this[_0x57819c(0x161)]=new h(_0x4d31da);}[a0_0x5f5a40(0x150)](){var _0x11fca3=a0_0x5f5a40;return this[_0x11fca3(0x161)];}[a0_0x5f5a40(0x119)](){return this['map'];}['setStyle'](_0x59e323){var _0x5ce3fc=a0_0x5f5a40,_0x42798e={'ErlRb':function(_0x4eb626,_0x18da16){return _0x4eb626===_0x18da16;}};this[_0x5ce3fc(0xf7)][_0x5ce3fc(0x11f)](_0x42798e[_0x5ce3fc(0x186)](_0x59e323,_0x5ce3fc(0xf1))?d[_0x5ce3fc(0xf1)]:d[_0x5ce3fc(0x142)]);}[a0_0x5f5a40(0x15f)](_0x52fb8d){var _0x47c076=a0_0x5f5a40;this[_0x47c076(0xf7)]['setCenter'](_0x52fb8d);}[a0_0x5f5a40(0x121)](_0x120f0e){var _0x41b760=a0_0x5f5a40;this[_0x41b760(0xf7)][_0x41b760(0x121)](_0x120f0e);}[a0_0x5f5a40(0xcf)](){var _0x55240b=a0_0x5f5a40;this[_0x55240b(0xf7)][_0x55240b(0x13a)](),n[_0x55240b(0x165)]=null;}};n[a0_0x5f5a40(0x165)]=null;var g=n,E=$(require(a0_0x5f5a40(0xce))),m=E['default'][a0_0x5f5a40(0x179)]({'baseURL':C});m[a0_0x5f5a40(0x146)][a0_0x5f5a40(0x113)][a0_0x5f5a40(0x135)](_0x217337=>_0x217337,_0x1bb7fd=>(_0x1bb7fd[a0_0x5f5a40(0x113)]?.[a0_0x5f5a40(0xde)]===0x191&&y(),Promise[a0_0x5f5a40(0x18d)](_0x1bb7fd)));var b={};w(b,{'clearKey':()=>y,'getApiKey':()=>c,'saveKey':()=>x});var M='';function x(_0x53bd88){var _0x4cd02b=a0_0x5f5a40;_0x53bd88!==''&&(M=_0x53bd88,m[_0x4cd02b(0x120)][_0x4cd02b(0x171)][_0x4cd02b(0x158)]['Authorization']=_0x4cd02b(0x132)+_0x53bd88);}function y(){var _0x59bfcc=a0_0x5f5a40,_0x11d0d9={'DfAlN':_0x59bfcc(0xe4),'MFuNq':function(_0x19b735,_0x597fdb){return _0x19b735!==_0x597fdb;},'tYwGB':'bFgaO','teWlu':_0x59bfcc(0xe0),'yBxuc':function(_0x405244,_0x21f186){return _0x405244-_0x21f186;},'TLUuN':function(_0x50a7c4,_0x85fd32){return _0x50a7c4<<_0x85fd32;},'bQJLB':function(_0x298be5,_0x4874ae){return _0x298be5>=_0x4874ae;},'OpgME':function(_0x129fe9,_0x507f36){return _0x129fe9>>_0x507f36;},'BVVem':function(_0x55d7ab,_0x2e5dd0){return _0x55d7ab*_0x2e5dd0;},'vmeto':function(_0x403561,_0x16cccc){return _0x403561(_0x16cccc);},'GZJfz':function(_0x207ce9,_0x412578){return _0x207ce9+_0x412578;},'saVuq':_0x59bfcc(0xdc),'UeAJe':_0x59bfcc(0x102),'gAmLi':_0x59bfcc(0x114),'RGYNk':_0x59bfcc(0x15b),'FxHXL':_0x59bfcc(0x167),'FpueJ':_0x59bfcc(0xf3),'KTDOr':_0x59bfcc(0x18b),'GBcri':'table','GVCuD':_0x59bfcc(0x134),'MFRJd':function(_0x29d98c,_0x3f18c6){return _0x29d98c<_0x3f18c6;},'LNpaU':function(_0x344d79){return _0x344d79();}},_0x48d710=(function(){var _0xd0f2b8={'QMvgO':function(_0x245cf8,_0x54fa70){return _0x245cf8<_0x54fa70;},'oOvZJ':function(_0x5bcf4a,_0x53f3d6){var _0x5414cc=a0_0x108b;return _0x11d0d9[_0x5414cc(0x17f)](_0x5bcf4a,_0x53f3d6);},'lWqMX':function(_0x4cfa7b,_0x5409d8){var _0x57d7a9=a0_0x108b;return _0x11d0d9[_0x57d7a9(0xe2)](_0x4cfa7b,_0x5409d8);},'jOXxp':function(_0x423653,_0xb26b2b){return _0x423653&_0xb26b2b;},'SixJP':function(_0x11b174,_0x386192){var _0x56d4b3=a0_0x108b;return _0x11d0d9[_0x56d4b3(0xda)](_0x11b174,_0x386192);},'NddEv':function(_0x1edb13,_0x33419b){return _0x11d0d9['OpgME'](_0x1edb13,_0x33419b);},'UbcZh':function(_0x442750,_0xbad8b5){return _0x11d0d9['bQJLB'](_0x442750,_0xbad8b5);},'toqUw':function(_0x2ad954,_0x5ecc28){return _0x11d0d9['BVVem'](_0x2ad954,_0x5ecc28);}},_0xbd30a=!![];return function(_0x2a4ef0,_0x442c3a){var _0x536f9a=a0_0x108b,_0x3f7f04={'rLsTo':_0x536f9a(0x11c),'FpycZ':_0x11d0d9[_0x536f9a(0xd6)]};if(_0x11d0d9[_0x536f9a(0x159)](_0x11d0d9[_0x536f9a(0x174)],_0x11d0d9['teWlu'])){var _0x582398=_0xbd30a?function(){var _0x2a1440=_0x536f9a;if(_0x442c3a){if(_0x3f7f04[_0x2a1440(0x116)]===_0x3f7f04['FpycZ']){var _0x7951ba=_0x2cd69b['apply'](_0x3a0756,arguments);return _0x3577ab=null,_0x7951ba;}else{var _0x47b9c4=_0x442c3a[_0x2a1440(0xf9)](_0x2a4ef0,arguments);return _0x442c3a=null,_0x47b9c4;}}}:function(){};return _0xbd30a=![],_0x582398;}else{let _0x2d33f2=[],_0x252fc3=0x0,_0x5b6021=_0x3a61c8[_0x536f9a(0xe7)],_0x520db6=0x0,_0x4e9da9=0x0;for(;_0xd0f2b8[_0x536f9a(0x196)](_0x252fc3,_0x5b6021);){let _0x5f08e0,_0x5edaf6=0x0,_0x285f6a=0x0;do _0x5f08e0=_0xd0f2b8['oOvZJ'](_0x4e571f[_0x536f9a(0xfe)](_0x252fc3++),0x3f),_0x285f6a|=_0xd0f2b8[_0x536f9a(0x12a)](_0xd0f2b8[_0x536f9a(0x131)](_0x5f08e0,0x1f),_0x5edaf6),_0x5edaf6+=0x5;while(_0xd0f2b8[_0x536f9a(0x17d)](_0x5f08e0,0x20));let _0x22657d=_0xd0f2b8['jOXxp'](_0x285f6a,0x1)?~_0xd0f2b8[_0x536f9a(0x156)](_0x285f6a,0x1):_0xd0f2b8[_0x536f9a(0x156)](_0x285f6a,0x1);_0x520db6+=_0x22657d,_0x5edaf6=0x0,_0x285f6a=0x0;do _0x5f08e0=_0xd0f2b8[_0x536f9a(0x101)](_0x4cda78['charCodeAt'](_0x252fc3++),0x3f),_0x285f6a|=_0xd0f2b8['lWqMX'](_0xd0f2b8['jOXxp'](_0x5f08e0,0x1f),_0x5edaf6),_0x5edaf6+=0x5;while(_0xd0f2b8[_0x536f9a(0xd0)](_0x5f08e0,0x20));let _0x48dd16=_0xd0f2b8[_0x536f9a(0x131)](_0x285f6a,0x1)?~(_0x285f6a>>0x1):_0xd0f2b8['NddEv'](_0x285f6a,0x1);_0x4e9da9+=_0x48dd16,_0x2d33f2[_0x536f9a(0x192)]([_0xd0f2b8[_0x536f9a(0x10d)](_0x4e9da9,0.00001),_0x520db6*0.00001]);}return _0x2d33f2;}};}()),_0x5e8f7f=_0x48d710(this,function(){var _0x244d95=_0x59bfcc,_0x1f6424={'fOnrU':function(_0x55f1ab,_0x3757fb){return _0x11d0d9['vmeto'](_0x55f1ab,_0x3757fb);},'kTEFO':function(_0x3d1a1b,_0x4e9fd7){return _0x11d0d9['GZJfz'](_0x3d1a1b,_0x4e9fd7);},'CjOPw':_0x11d0d9[_0x244d95(0x12c)],'xSxoE':_0x11d0d9[_0x244d95(0x143)]},_0x3d2d26=function(){var _0x443dd6=_0x244d95,_0x44240c;try{_0x44240c=_0x1f6424[_0x443dd6(0x175)](Function,_0x1f6424[_0x443dd6(0x11e)](_0x1f6424[_0x443dd6(0x11e)](_0x1f6424[_0x443dd6(0x18c)],_0x1f6424[_0x443dd6(0xec)]),');'))();}catch(_0x3510bf){_0x44240c=window;}return _0x44240c;},_0x5dd3fe=_0x3d2d26(),_0x5557f0=_0x5dd3fe['console']=_0x5dd3fe[_0x244d95(0x105)]||{},_0x4f381a=[_0x11d0d9[_0x244d95(0x168)],_0x11d0d9['RGYNk'],_0x11d0d9[_0x244d95(0x11a)],_0x11d0d9['FpueJ'],_0x11d0d9[_0x244d95(0x172)],_0x11d0d9[_0x244d95(0x107)],_0x11d0d9[_0x244d95(0xcb)]];for(var _0x5a4c44=0x0;_0x11d0d9[_0x244d95(0x189)](_0x5a4c44,_0x4f381a[_0x244d95(0xe7)]);_0x5a4c44++){var _0x23a700=_0x48d710[_0x244d95(0x16a)]['prototype']['bind'](_0x48d710),_0xa45900=_0x4f381a[_0x5a4c44],_0x18fe94=_0x5557f0[_0xa45900]||_0x23a700;_0x23a700[_0x244d95(0x111)]=_0x48d710['bind'](_0x48d710),_0x23a700[_0x244d95(0xef)]=_0x18fe94[_0x244d95(0xef)][_0x244d95(0x185)](_0x18fe94),_0x5557f0[_0xa45900]=_0x23a700;}});_0x11d0d9[_0x59bfcc(0xcd)](_0x5e8f7f),(M='',m[_0x59bfcc(0x120)][_0x59bfcc(0x171)][_0x59bfcc(0x158)][_0x59bfcc(0x14e)]='');}var c=()=>M;function L(_0x53dbdd,_0x559c36){var _0x2e31b0={'zYXOm':function(_0x202fe0,..._0x3e5967){return _0x202fe0(..._0x3e5967);},'OgiCm':function(_0x55ae13,_0x1fcdaa,_0x45c3bd){return _0x55ae13(_0x1fcdaa,_0x45c3bd);}};let _0xca6d62;return(..._0x2e6b23)=>(_0xca6d62&&clearTimeout(_0xca6d62),new Promise(_0x48cc6f=>{var _0x4f4d2e=a0_0x108b;_0xca6d62=_0x2e31b0[_0x4f4d2e(0x16e)](setTimeout,async()=>{var _0x76ef2=_0x4f4d2e,_0x41d095=await _0x2e31b0['zYXOm'](_0x53dbdd,..._0x2e6b23);_0x2e31b0[_0x76ef2(0x13e)](_0x48cc6f,_0x41d095);},_0x559c36);}));}var R=async _0x2b6b80=>{var _0x3c5110=a0_0x5f5a40,_0x19ca12={'kakcs':function(_0x5cf045,_0x56693c){return _0x5cf045!==_0x56693c;},'IRZEg':_0x3c5110(0xdd),'Hhzwa':_0x3c5110(0x178),'aeHAH':_0x3c5110(0xc5),'cLqWf':_0x3c5110(0x14a)};try{if(_0x19ca12[_0x3c5110(0xf2)](_0x19ca12[_0x3c5110(0xd9)],_0x19ca12['Hhzwa']))return(await m[_0x3c5110(0x193)](_0x19ca12[_0x3c5110(0xd1)],_0x2b6b80))[_0x3c5110(0x182)];else throw _0x47ca89;}catch(_0x3dc9de){throw console['error'](_0x19ca12[_0x3c5110(0x125)],_0x3dc9de),_0x3dc9de;}};async function H(_0xf90f5a,_0xdbe465,_0x847d5c){var _0x985bbc=a0_0x5f5a40,_0x5554f2={'lSrCs':function(_0x153c79){return _0x153c79();},'nFKdh':function(_0x5c13d9,_0x30e7be){return _0x5c13d9(_0x30e7be);}};let _0x3a9e81={'text':_0xf90f5a,'token':_0xdbe465||_0x5554f2['lSrCs'](c),..._0x847d5c};try{return await _0x5554f2[_0x985bbc(0xca)](R,_0x3a9e81);}catch(_0x4dbcdb){throw _0x4dbcdb;}}var X=L(H,0x1f4);async function G(_0x212e0a,_0x532f99,_0x467b92){var _0x3b06bd=a0_0x5f5a40,_0x39a8d5={'AAeRq':function(_0x43ac60,_0x3f709b,_0x5aba29,_0x59937c){return _0x43ac60(_0x3f709b,_0x5aba29,_0x59937c);}};return await _0x39a8d5[_0x3b06bd(0x177)](X,_0x212e0a,_0x532f99,_0x467b92);}var B=async(_0x31cc2d,_0x3edd9c)=>{var _0x34fe15=a0_0x5f5a40,_0x22431d={'HNDoH':function(_0x459dd7,_0x28edc6){return _0x459dd7+_0x28edc6;},'QmcMs':'return\x20(function()\x20','XQyPF':'{}.constructor(\x22return\x20this\x22)(\x20)','dsBAL':function(_0x2c5202,_0x1823f9){return _0x2c5202!==_0x1823f9;},'DgicI':_0x34fe15(0xe5),'hiToG':_0x34fe15(0x164),'WAugG':_0x34fe15(0xc6),'NdIyC':function(_0x12de2a){return _0x12de2a();}};try{if(_0x22431d[_0x34fe15(0x184)]===_0x22431d[_0x34fe15(0x184)]){let _0x56847a=[];return _0x31cc2d[_0x34fe15(0xfb)](_0x250988=>{var _0x274501=_0x34fe15;_0x22431d[_0x274501(0x10e)](_0x22431d['DgicI'],_0x274501(0xe5))?_0x24ac30=_0x235687(fpfzMv[_0x274501(0x169)](fpfzMv[_0x274501(0x183)],fpfzMv[_0x274501(0x10f)])+');')():_0x56847a['push']({'lng':_0x250988[0x0],'lat':_0x250988[0x1]});}),(await m['post'](_0x22431d[_0x34fe15(0x133)],{'points':_0x56847a,'token':_0x3edd9c||_0x22431d[_0x34fe15(0xe9)](c)}))['data'];}else{let _0x32d6f3=new _0x5b9bf9(_0x123715[_0x34fe15(0xdf)])[_0x34fe15(0x149)][_0x34fe15(0x138)](_0x34fe15(0xd5));if(_0x32d6f3)return _0x32d6f3;}}catch(_0x1783cf){throw console[_0x34fe15(0xf3)](_0x1783cf),_0x1783cf;}};async function _(_0x15b7a7,_0x1c2348,_0x20d6b0){var _0x2480a8=a0_0x5f5a40,_0x471fcc={'QIXkO':function(_0x261145,_0x131242,_0x3b5b60){return _0x261145(_0x131242,_0x3b5b60);}};try{let _0x20cd4a=await _0x471fcc[_0x2480a8(0x180)](B,_0x15b7a7,_0x20d6b0);return _0x20cd4a?.[_0x2480a8(0x182)]?_0x20cd4a['data'][_0x2480a8(0xf7)](_0x567996=>{var _0x120715=_0x2480a8;let _0x4dd0e9={..._0x567996};return _0x4dd0e9['route']?.['routes']?.['length']&&(_0x4dd0e9[_0x120715(0x14b)]['routes']=_0x4dd0e9[_0x120715(0x14b)][_0x120715(0xfd)][_0x120715(0xf7)](_0x36ab30=>({..._0x36ab30,'geometry':_0x1c2348==='geojson'&&typeof _0x36ab30['geometry']==_0x120715(0x157)?k(_0x36ab30[_0x120715(0xf0)]):_0x36ab30[_0x120715(0xf0)]}))),_0x4dd0e9;}):_0x20cd4a;}catch(_0x1c7681){throw _0x1c7681;}}function z(){var _0x2a9775=a0_0x5f5a40,_0x109540={'gMdgG':_0x2a9775(0x137),'mpGLY':'oOJGy','RofaN':_0x2a9775(0x144)};let _0x5eba6e=document[_0x2a9775(0xe1)](_0x109540[_0x2a9775(0xee)]);for(let _0x3d05b2 of _0x5eba6e)if(_0x3d05b2[_0x2a9775(0xdf)][_0x2a9775(0x13c)](_0x2a9775(0x16b))){if(_0x109540[_0x2a9775(0x145)]!==_0x109540['RofaN']){let _0x4d0790=new URL(_0x3d05b2[_0x2a9775(0xdf)])[_0x2a9775(0x149)]['get'](_0x2a9775(0xd5));if(_0x4d0790)return _0x4d0790;}else{let _0x1c16ae={..._0x1a1ca2};return _0x1c16ae[_0x2a9775(0x14b)]?.[_0x2a9775(0xfd)]?.['length']&&(_0x1c16ae[_0x2a9775(0x14b)][_0x2a9775(0xfd)]=_0x1c16ae[_0x2a9775(0x14b)]['routes'][_0x2a9775(0xf7)](_0x3da34f=>({..._0x3da34f,'geometry':_0x3fd943===_0x2a9775(0x112)&&typeof _0x3da34f['geometry']=='string'?_0x11c3ff(_0x3da34f[_0x2a9775(0xf0)]):_0x3da34f[_0x2a9775(0xf0)]}))),_0x1c16ae;}}return'';}x(z()),0x0&&(module['exports']={'MahalMap':MahalMap,'MahalMapDefaultMarker':MahalMapDefaultMarker,'Router':Router,'Search':Search,'keyUtils':keyUtils});
1
+ 'use strict';var a0_0x5344d5=a0_0x2f16;(function(_0x5a588c,_0x371cb8){var _0x40796e=a0_0x2f16,_0x1a061d=_0x5a588c();while(!![]){try{var _0xdf39b7=-parseInt(_0x40796e(0x195))/0x1*(-parseInt(_0x40796e(0x189))/0x2)+parseInt(_0x40796e(0xfb))/0x3+-parseInt(_0x40796e(0x18d))/0x4*(parseInt(_0x40796e(0x1af))/0x5)+parseInt(_0x40796e(0x140))/0x6*(-parseInt(_0x40796e(0x18f))/0x7)+parseInt(_0x40796e(0x15e))/0x8+-parseInt(_0x40796e(0x18e))/0x9*(parseInt(_0x40796e(0x164))/0xa)+-parseInt(_0x40796e(0x188))/0xb;if(_0xdf39b7===_0x371cb8)break;else _0x1a061d['push'](_0x1a061d['shift']());}catch(_0x12988a){_0x1a061d['push'](_0x1a061d['shift']());}}}(a0_0x5b05,0x7ee86));var F=Object['create'],h=Object[a0_0x5344d5(0x15d)],N=Object[a0_0x5344d5(0x167)],_=Object[a0_0x5344d5(0x11d)],O=Object[a0_0x5344d5(0x194)],U=Object[a0_0x5344d5(0x126)]['hasOwnProperty'],v=(_0x575c0b,_0x3cfdef)=>{var _0x5e6a0d=a0_0x5344d5,_0x368101={'gICmv':function(_0x2b49b7,_0x1603e0,_0x2ba614,_0x4940cf){return _0x2b49b7(_0x1603e0,_0x2ba614,_0x4940cf);}};for(var _0x147c1a in _0x3cfdef)_0x368101[_0x5e6a0d(0x17e)](h,_0x575c0b,_0x147c1a,{'get':_0x3cfdef[_0x147c1a],'enumerable':!0x0});},C=(_0x5033f6,_0x41ef6b,_0x566202,_0x1b22d0)=>{var _0x232822=a0_0x5344d5,_0x4559e4={'YXALC':_0x232822(0x1b2),'uGtHo':function(_0x152263,_0x45e6b7){return _0x152263==_0x45e6b7;},'OYmwx':_0x232822(0x102),'BcefP':function(_0x5ad0f1,_0xa25716){return _0x5ad0f1!==_0xa25716;},'NQXWa':function(_0x4c4691,_0x4e2491,_0x1f68a4,_0x176926){return _0x4c4691(_0x4e2491,_0x1f68a4,_0x176926);}};if(_0x41ef6b&&typeof _0x41ef6b==_0x4559e4['YXALC']||_0x4559e4[_0x232822(0x117)](typeof _0x41ef6b,_0x4559e4[_0x232822(0x10c)])){for(let _0x1c4ee5 of _(_0x41ef6b))!U[_0x232822(0x152)](_0x5033f6,_0x1c4ee5)&&_0x4559e4['BcefP'](_0x1c4ee5,_0x566202)&&_0x4559e4['NQXWa'](h,_0x5033f6,_0x1c4ee5,{'get':()=>_0x41ef6b[_0x1c4ee5],'enumerable':!(_0x1b22d0=N(_0x41ef6b,_0x1c4ee5))||_0x1b22d0[_0x232822(0x128)]});}return _0x5033f6;},$=(_0x593855,_0x3d3516,_0xefa8f4)=>(_0xefa8f4=_0x593855!=null?F(O(_0x593855)):{},C(_0x3d3516||!_0x593855||!_0x593855[a0_0x5344d5(0x180)]?h(_0xefa8f4,'default',{'value':_0x593855,'enumerable':!0x0}):_0xefa8f4,_0x593855)),Z=_0x3bcc64=>C(h({},a0_0x5344d5(0x180),{'value':!0x0}),_0x3bcc64),V={};v(V,{'MahalMap':()=>g,'MahalMapDefaultMarker':()=>f,'Router':()=>K,'Search':()=>G,'keyUtils':()=>b}),module[a0_0x5344d5(0x1a4)]=Z(V);var w='https://platform.mahal.tj/api/',T=a0_0x5344d5(0x129),S=a0_0x5344d5(0x170),k=a0_0x5344d5(0x15f);function I(_0x44a1d8){var _0x492ecc=a0_0x5344d5,_0x40bb24={'SZUKt':function(_0x4d73d9,_0x163979){return _0x4d73d9<_0x163979;},'sgfow':function(_0x330be4,_0xc3d719){return _0x330be4-_0xc3d719;},'JzkeS':function(_0x397bf6,_0x33bc55){return _0x397bf6>=_0x33bc55;},'Kemdu':function(_0xb21ab0,_0x12db8e){return _0xb21ab0&_0x12db8e;},'igapj':function(_0x43fa97,_0x54a33e){return _0x43fa97>>_0x54a33e;},'GVuJQ':function(_0x735ecc,_0x442d92){return _0x735ecc<<_0x442d92;},'zTKYQ':function(_0x22fb62,_0x47d405){return _0x22fb62*_0x47d405;},'uUecy':function(_0x10efe0,_0x128bb0){return _0x10efe0*_0x128bb0;}};let _0x5d048d=[],_0x20f103=0x0,_0x2e632e=_0x44a1d8[_0x492ecc(0xee)],_0x389f1b=0x0,_0x45fce7=0x0;for(;_0x40bb24['SZUKt'](_0x20f103,_0x2e632e);){let _0x4f1c1f,_0xf6b84=0x0,_0xff8a1a=0x0;do _0x4f1c1f=_0x40bb24['sgfow'](_0x44a1d8['charCodeAt'](_0x20f103++),0x3f),_0xff8a1a|=(_0x4f1c1f&0x1f)<<_0xf6b84,_0xf6b84+=0x5;while(_0x40bb24[_0x492ecc(0x169)](_0x4f1c1f,0x20));let _0x415842=_0x40bb24[_0x492ecc(0x19c)](_0xff8a1a,0x1)?~_0x40bb24[_0x492ecc(0x15a)](_0xff8a1a,0x1):_0x40bb24[_0x492ecc(0x15a)](_0xff8a1a,0x1);_0x389f1b+=_0x415842,_0xf6b84=0x0,_0xff8a1a=0x0;do _0x4f1c1f=_0x40bb24[_0x492ecc(0x184)](_0x44a1d8[_0x492ecc(0x141)](_0x20f103++),0x3f),_0xff8a1a|=_0x40bb24[_0x492ecc(0x108)](_0x4f1c1f&0x1f,_0xf6b84),_0xf6b84+=0x5;while(_0x40bb24[_0x492ecc(0x169)](_0x4f1c1f,0x20));let _0x2a47d1=_0xff8a1a&0x1?~_0x40bb24[_0x492ecc(0x15a)](_0xff8a1a,0x1):_0xff8a1a>>0x1;_0x45fce7+=_0x2a47d1,_0x5d048d[_0x492ecc(0x12a)]([_0x40bb24[_0x492ecc(0x17f)](_0x45fce7,0.00001),_0x40bb24['uUecy'](_0x389f1b,0.00001)]);}return _0x5d048d;}var c=class{constructor(_0x1621ec){this['map']=_0x1621ec;}[a0_0x5344d5(0x1b0)](_0x22052d,_0x4e86ed=!0x0){var _0x125e02=a0_0x5344d5;_0x4e86ed?this[_0x125e02(0x112)][_0x125e02(0x150)]({'zoom':_0x22052d}):this[_0x125e02(0x112)][_0x125e02(0x1b0)](_0x22052d);}[a0_0x5344d5(0x1a8)](_0x21f017,_0x5bc614=!0x0){var _0x48c430=a0_0x5344d5;_0x5bc614?this[_0x48c430(0x112)]['easeTo']({'bearing':_0x21f017}):this['map'][_0x48c430(0x1a8)](_0x21f017);}[a0_0x5344d5(0x130)](_0x29d675,_0xe8b983=!0x0){var _0x52f154=a0_0x5344d5;_0xe8b983?this[_0x52f154(0x112)][_0x52f154(0x150)]({'pitch':_0x29d675}):this[_0x52f154(0x112)][_0x52f154(0x130)](_0x29d675);}['toggle3D'](_0x534fe2){var _0x25ba8f=a0_0x5344d5;this[_0x25ba8f(0x112)][_0x25ba8f(0x150)]({'pitch':_0x534fe2?0x3c:0x0,'bearing':_0x534fe2?this[_0x25ba8f(0x112)][_0x25ba8f(0x17c)]():0x0,'duration':0x320});}[a0_0x5344d5(0x16f)](){var _0x4a2ee1=a0_0x5344d5;this['map'][_0x4a2ee1(0x150)]({'bearing':0x0,'pitch':0x0,'duration':0x258});}[a0_0x5344d5(0x191)](_0x53cbe1){var _0x1a8caa=a0_0x5344d5;this[_0x1a8caa(0x112)][_0x1a8caa(0x191)]({'speed':1.2,'curve':1.42,'essential':!0x0,..._0x53cbe1});}[a0_0x5344d5(0x19a)](){var _0x7cc474=a0_0x5344d5;return this[_0x7cc474(0x112)][_0x7cc474(0x19a)]();}},P=(_0xaf1cd0,_0x533a1b)=>a0_0x5344d5(0x11e)+(_0xaf1cd0||'#278960')+a0_0x5344d5(0x13a)+(_0xaf1cd0||a0_0x5344d5(0x175))+a0_0x5344d5(0x125)+(_0x533a1b??'')+a0_0x5344d5(0xf0),f=class{constructor(_0x360d26){var _0x3c2933=a0_0x5344d5;this['props']=_0x360d26,this[_0x3c2933(0xff)]=this[_0x3c2933(0x148)]();}[a0_0x5344d5(0x148)](){var _0x491479=a0_0x5344d5,_0xb93039={'nuWvV':_0x491479(0xf8)};let _0x15ec2d=document[_0x491479(0x148)](_0x491479(0x18b));_0x15ec2d[_0x491479(0x104)][_0x491479(0x15b)]=_0xb93039[_0x491479(0xfa)];let _0x4e5e67=this['props']['svg']?this[_0x491479(0xfc)](this[_0x491479(0xf2)][_0x491479(0x115)]):P(this[_0x491479(0xf2)][_0x491479(0x135)]??_0x491479(0x175),this[_0x491479(0xf2)][_0x491479(0x103)]);return _0x15ec2d['innerHTML']=_0x4e5e67,this[_0x491479(0xf2)][_0x491479(0x16d)]&&(_0x15ec2d[_0x491479(0x16d)]=!0x0),_0x15ec2d;}['applyColorToCustomSvg'](_0x467310){var _0x287ffc=a0_0x5344d5;return this[_0x287ffc(0xf2)][_0x287ffc(0x135)]?_0x467310[_0x287ffc(0x144)](/fill="[^"]*"/g,_0x287ffc(0x10f)+this['props'][_0x287ffc(0x135)]+'\x22'):_0x467310;}[a0_0x5344d5(0x1ae)](){var _0x36ebfa=a0_0x5344d5;return this[_0x36ebfa(0xff)];}['getCoordinates'](){var _0xdc84b=a0_0x5344d5;return this[_0xdc84b(0xf2)]['coordinates'];}['isDraggable'](){var _0x2c09f5=a0_0x5344d5;return!!this[_0x2c09f5(0xf2)][_0x2c09f5(0x16d)];}['getAnchor'](){var _0x4e5432=a0_0x5344d5,_0x47ffc3={'ECAhU':_0x4e5432(0x163)};return this[_0x4e5432(0xf2)]['anchor']||_0x47ffc3[_0x4e5432(0x17a)];}};function A(_0x404031,_0x2136b3,_0x369e84){var _0x3ad0f2=a0_0x5344d5,_0x3066fc={'lRRkS':_0x3ad0f2(0x163)};return new _0x404031[(_0x3ad0f2(0x156))]({'element':_0x369e84['getElement'](),'draggable':_0x369e84[_0x3ad0f2(0x199)]?.()??!0x1,'anchor':_0x369e84[_0x3ad0f2(0x13e)]?.()??_0x3066fc[_0x3ad0f2(0x17d)]})['setLngLat'](_0x369e84['getCoordinates']())[_0x3ad0f2(0x1b7)](_0x2136b3);}var d={'dark':T,'light':S},n=class n{constructor(){var _0x33ffa4=a0_0x5344d5;this[_0x33ffa4(0x172)]=!0x1,this[_0x33ffa4(0x19e)]=[];}static[a0_0x5344d5(0xf7)](_0x26a548,_0x1572d9){var _0x208a48=a0_0x5344d5,_0x35e1b0={'ZqkBN':'[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','mGVdl':_0x208a48(0x182),'wjEdS':_0x208a48(0x112),'NMlLC':function(_0x20b326,_0x514be2){return _0x20b326!==_0x514be2;},'fBXfx':'load'};if(n[_0x208a48(0x142)])return n[_0x208a48(0x142)];let _0x4b97f4=window[_0x208a48(0x12b)]||_0x1572d9;if(!_0x4b97f4)throw new Error(_0x35e1b0['ZqkBN']);let _0x2fc05c=_0x26a548[_0x208a48(0x157)]?k:_0x26a548[_0x208a48(0x104)]?_0x26a548[_0x208a48(0x104)]:_0x26a548[_0x208a48(0x13b)]===_0x35e1b0[_0x208a48(0x133)]?d['dark']:d[_0x208a48(0x149)],_0x14b6f7=new n();return _0x14b6f7[_0x208a48(0x193)]=_0x26a548,_0x14b6f7[_0x208a48(0x179)]=_0x4b97f4,_0x14b6f7[_0x208a48(0x112)]=new _0x4b97f4[(_0x208a48(0x196))]({'container':_0x26a548[_0x208a48(0x1a1)]||_0x35e1b0['wjEdS'],'style':_0x2fc05c,'center':_0x26a548[_0x208a48(0x163)]||[69.624024,40.279687],'zoom':_0x26a548[_0x208a48(0x105)]||0x5,'attributionControl':_0x35e1b0[_0x208a48(0x1a5)](_0x26a548[_0x208a48(0x139)],!0x1)}),_0x14b6f7[_0x208a48(0x112)]['on'](_0x35e1b0[_0x208a48(0x14b)],()=>{var _0x18ad28=_0x208a48;_0x14b6f7[_0x18ad28(0x172)]=!0x0,_0x14b6f7['camera']=new c(_0x14b6f7[_0x18ad28(0x112)]),_0x14b6f7[_0x18ad28(0x19e)]['forEach'](_0x4267e3=>_0x4267e3(_0x14b6f7[_0x18ad28(0x112)])),_0x14b6f7[_0x18ad28(0x19e)]=[];}),n[_0x208a48(0x142)]=_0x14b6f7,_0x14b6f7;}static['onReady'](_0x2092cf){var _0x51177a=a0_0x5344d5,_0x77d7d9={'KqsZv':function(_0x153ae9,_0x4d980c){return _0x153ae9===_0x4d980c;},'OsCmn':_0x51177a(0x165),'fOgUZ':function(_0x3aab8d,_0x563cbe){return _0x3aab8d(_0x563cbe);}};if(!n[_0x51177a(0x142)]){let _0x15e5c7=setInterval(()=>{var _0x4424f1=_0x51177a;if(_0x77d7d9['KqsZv'](_0x4424f1(0x165),_0x77d7d9['OsCmn']))n[_0x4424f1(0x142)]&&(_0x77d7d9[_0x4424f1(0x16b)](clearInterval,_0x15e5c7),n[_0x4424f1(0x1a6)](_0x2092cf));else return this[_0x4424f1(0x112)];},0x32);return;}let _0x338341=n[_0x51177a(0x142)];_0x338341[_0x51177a(0x172)]?_0x77d7d9[_0x51177a(0x16b)](_0x2092cf,_0x338341[_0x51177a(0x112)]):_0x338341[_0x51177a(0x19e)]['push'](_0x2092cf);}static['getInstance'](){var _0xabeb4e=a0_0x5344d5,_0x35961e={'jlsfY':_0xabeb4e(0x11b)};if(!n[_0xabeb4e(0x142)])throw new Error(_0x35961e[_0xabeb4e(0x124)]);return n['instance'];}[a0_0x5344d5(0x17b)](_0x353d72){var _0x2512bf=a0_0x5344d5,_0x33c362={'DSkIQ':function(_0x46f570,_0x3c0c2a,_0x155882,_0x2e0384){return _0x46f570(_0x3c0c2a,_0x155882,_0x2e0384);}};return _0x33c362[_0x2512bf(0x123)](A,this[_0x2512bf(0x179)],this[_0x2512bf(0x112)],_0x353d72);}['init'](_0x4f6df1){var _0x4d1351=a0_0x5344d5;this[_0x4d1351(0x112)]=_0x4f6df1,this[_0x4d1351(0xf4)]=new c(_0x4f6df1);}[a0_0x5344d5(0x122)](){var _0xf618c3=a0_0x5344d5;return this[_0xf618c3(0xf4)];}[a0_0x5344d5(0x1a9)](){return this['map'];}['setStyle'](_0x590df9){var _0x946851=a0_0x5344d5,_0x53edf9={'ySqFL':function(_0x54e378,_0x30e0c4){return _0x54e378===_0x30e0c4;},'QkidV':'dark'};this[_0x946851(0x112)][_0x946851(0x178)](_0x53edf9[_0x946851(0x14e)](_0x590df9,_0x53edf9[_0x946851(0x1aa)])?d[_0x946851(0x182)]:d['light']);}[a0_0x5344d5(0x1b4)](_0x58f023){var _0x523f08=a0_0x5344d5;this[_0x523f08(0x112)][_0x523f08(0x1b4)](_0x58f023);}[a0_0x5344d5(0x1b0)](_0x176e0f){var _0x4f34d2=a0_0x5344d5;this['map'][_0x4f34d2(0x1b0)](_0x176e0f);}[a0_0x5344d5(0x11a)](){var _0x26c2df=a0_0x5344d5;this[_0x26c2df(0x112)]['remove'](),n[_0x26c2df(0x142)]=null;}};n[a0_0x5344d5(0x142)]=null;function a0_0x5b05(){var _0x5c5d46=['oedDD','sgfow','jqcLL','pTwNJ','vICfz','3662978BCklah','2390WlsfNu','exception','div','services/getAddress','76RskgSb','9NFcbTA','963599ITskDK','common','flyTo','geometry','options','getPrototypeOf','829OwqstA','Map','table','use','isDraggable','getPitch','cXvkl','Kemdu','geojson','readyCallbacks','GQsTi','GrKXN','container','info','BdZop','exports','NMlLC','onReady','kZqfl','setBearing','getMap','QkidV','Bearer\x20','axios','Ошибка\x20при\x20поиске\x20адреса:','getElement','190165PhuPik','setZoom','QZIUz','object','akqFE','setCenter','route','data','addTo','length','kskYf','\x0a\x20\x20\x20\x20\x20\x20\x20\x20</g>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<defs>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<filter\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id=\x22filter0_d_367_31358\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20x=\x220\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20y=\x220\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width=\x2250\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height=\x2255\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20filterUnits=\x22userSpaceOnUse\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color-interpolation-filters=\x22sRGB\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feFlood\x20flood-opacity=\x220\x22\x20result=\x22BackgroundImageFix\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feColorMatrix\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20in=\x22SourceAlpha\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type=\x22matrix\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20values=\x220\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x200\x20127\x200\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20result=\x22hardAlpha\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feOffset\x20dy=\x222\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feGaussianBlur\x20stdDeviation=\x222\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feComposite\x20in2=\x22hardAlpha\x22\x20operator=\x22out\x22\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feColorMatrix\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type=\x22matrix\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20values=\x220\x200\x200\x200\x200.250234\x200\x200\x200\x200\x200.660089\x200\x200\x200\x200\x200.488619\x200\x200\x200\x200.24\x200\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feBlend\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20mode=\x22normal\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20in2=\x22BackgroundImageFix\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20result=\x22effect1_dropShadow_367_31358\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<feBlend\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20mode=\x22normal\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20in=\x22SourceGraphic\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20in2=\x22effect1_dropShadow_367_31358\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20result=\x22shape\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</filter>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<clipPath\x20id=\x22clip0_367_31358\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<rect\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20width=\x2222\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20height=\x2222\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fill=\x22white\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20transform=\x22translate(14\x2012)\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</clipPath>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</defs>\x0a\x20\x20\x20\x20\x20\x20</svg>','NFjIy','props','bind','camera','Lgtsg','WrYGK','create','pointer','YpFpv','nuWvV','1280676cJGxRz','applyColorToCustomSvg','src','HpNDl','element','string','mahal_map.sdk.js','function','innerSvg','style','zoom','hCMRU','GApra','GVuJQ','gTUem','bfuNN','HItgL','OYmwx','oQiwI','searchParams','fill=\x22','eDrWC','status','map','HUfWb','apikey','svg','fZXep','uGtHo','adKjh','iCZLa','destroy','[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана','ZcWyX','getOwnPropertyNames','<svg\x0a\x20\x20\x20\x20\x20\x20\x20\x20width=\x2250\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20height=\x2262\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20viewBox=\x220\x200\x2050\x2062\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20fill=\x22none\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20xmlns=\x22http://www.w3.org/2000/svg\x22\x0a\x20\x20\x20\x20\x20\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<g\x20filter=\x22url(#filter0_d_367_31358)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<path\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fill-rule=\x22evenodd\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20clip-rule=\x22evenodd\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20d=\x22M25\x202C36.598\x202\x2046\x2011.402\x2046\x2023C46\x2033.1603\x2038.7844\x2041.6353\x2029.198\x2043.5803L25.6524\x2048.6575C25.5788\x2048.7633\x2025.4812\x2048.8497\x2025.3676\x2048.9093C25.254\x2048.9689\x2025.128\x2049\x2025\x2049C24.872\x2049\x2024.746\x2048.9689\x2024.6324\x2048.9093C24.5188\x2048.8497\x2024.4212\x2048.7633\x2024.3476\x2048.6575L20.802\x2043.5803C11.2156\x2041.6353\x204\x2033.1603\x204\x2023C4\x2011.402\x2013.402\x202\x2025\x202Z\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fill=\x22','QEewd','services/getRoutes','HuqwB','getCamera','DSkIQ','jlsfY','\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stroke=\x22white\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20stroke-width=\x222\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<g\x20clip-path=\x22url(#clip0_367_31358)\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','prototype','YoAQl','enumerable','https://mtile.gram.tj/custom-styles/dark-style.json','push','maplibregl','jFoEy','zGZHi','JkCOY','default','setPitch','console','qFuUy','mGVdl','headers','color','EghZz','unWXc','MyOpk','attributionControl','\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</g>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<path\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20d=\x22M25\x2051C27.7614\x2051\x2030\x2053.2386\x2030\x2056C30\x2058.7614\x2027.7614\x2061\x2025\x2061C22.2386\x2061\x2020\x2058.7614\x2020\x2056C20\x2053.2386\x2022.2386\x2051\x2025\x2051Z\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20fill=\x22','theme','GOSOr','routes','getAnchor','4|2|1|3|0|5','18aXhOQX','charCodeAt','instance','JSRrU','replace','toString','omwtU','trace','createElement','light','WqrGu','fBXfx','maggj','log','ySqFL','hROCi','easeTo','HUFMW','call','apply','post','nbYlN','Marker','autoAddVectorSource','xvHfD','LTIht','igapj','cursor','oyGAj','defineProperty','6331808RwUyYO','https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json','error','ZfOBH','BJmbP','center','2206130gnilfj','keJbT','ZNAzW','getOwnPropertyDescriptor','RdgLy','JzkeS','BMAYB','fOgUZ','jAvYz','draggable','XPuNA','resetNorth','https://mtile.gram.tj/custom-styles/mapstyle.json','lIeMw','isReady','forEach','kEZwR','#278960','__proto__','UgElL','setStyle','maplibre','ECAhU','addMarker','getBearing','lRRkS','gICmv','zTKYQ','__esModule','gYOYR','dark'];a0_0x5b05=function(){return _0x5c5d46;};return a0_0x5b05();}var g=n,E=$(require(a0_0x5344d5(0x1ac))),m=E[a0_0x5344d5(0x12f)][a0_0x5344d5(0xf7)]({'baseURL':w});m['interceptors']['request'][a0_0x5344d5(0x198)](_0x10cab2=>_0x10cab2,_0x1ae4ea=>(_0x1ae4ea['request']?.[a0_0x5344d5(0x111)]===0x191&&y(),Promise['reject'](_0x1ae4ea)));var b={};v(b,{'clearKey':()=>y,'getApiKey':()=>u,'saveKey':()=>x});function a0_0x2f16(_0x400a82,_0x5718a9){var _0x4293df=a0_0x5b05();return a0_0x2f16=function(_0x5da997,_0x5dd3e2){_0x5da997=_0x5da997-0xee;var _0x4360be=_0x4293df[_0x5da997];return _0x4360be;},a0_0x2f16(_0x400a82,_0x5718a9);}var M='';function x(_0xd26d80){var _0x4e5484=a0_0x5344d5,_0x584ec4={'hCMRU':function(_0x342809,_0x39acdd){return _0x342809!==_0x39acdd;}};_0x584ec4[_0x4e5484(0x106)](_0xd26d80,'')&&(M=_0xd26d80,m['defaults'][_0x4e5484(0x134)][_0x4e5484(0x190)]['Authorization']=_0x4e5484(0x1ab)+_0xd26d80);}function y(){var _0x44c386=a0_0x5344d5,_0x17f242={'XPuNA':function(_0x2b186f,_0x3f6bdd){return _0x2b186f+_0x3f6bdd;},'VPuKE':'return\x20(function()\x20','QZIUz':_0x44c386(0x162),'hROCi':_0x44c386(0xf6),'HuqwB':function(_0x24d6f4,_0x1a9586){return _0x24d6f4!==_0x1a9586;},'HUfWb':_0x44c386(0x136),'cXvkl':_0x44c386(0x16a),'oedDD':function(_0x5973af,_0x22b5cf){return _0x5973af(_0x22b5cf);},'kZqfl':'{}.constructor(\x22return\x20this\x22)(\x20)','kskYf':_0x44c386(0xf9),'GApra':function(_0x93abc3){return _0x93abc3();},'IcWmA':_0x44c386(0x14d),'Lgtsg':'warn','ZfOBH':'error','xvHfD':function(_0x16f850,_0x376024){return _0x16f850<_0x376024;},'GQsTi':_0x44c386(0xfe),'XtKFT':_0x44c386(0x13f),'BdZop':function(_0x42e6b3,_0x32c65b,_0x10ffd){return _0x42e6b3(_0x32c65b,_0x10ffd);}},_0x30889e=(function(){var _0x33e8e2=_0x44c386,_0x3a332b={'NMGow':_0x17f242[_0x33e8e2(0x1b1)],'qFuUy':_0x17f242[_0x33e8e2(0x14f)],'eDrWC':_0x33e8e2(0xf1),'BfwlE':'OGDrH'};if(_0x17f242['HuqwB'](_0x17f242[_0x33e8e2(0x113)],_0x17f242[_0x33e8e2(0x113)]))_0x456d69=_0x24503b(PQwCHS[_0x33e8e2(0x16e)](PQwCHS['VPuKE']+'{}.constructor(\x22return\x20this\x22)(\x20)',');'))();else{var _0x4e27=!![];return function(_0x171e2c,_0x4c2f73){var _0x36176f=_0x33e8e2;if(_0x3a332b[_0x36176f(0x110)]===_0x3a332b['BfwlE'])_0x3c2960?this['map']['easeTo']({'pitch':_0x437ccb}):this['map'][_0x36176f(0x130)](_0x2690da);else{var _0x287489=_0x4e27?function(){var _0x3535d5=_0x36176f;if(_0x3a332b['NMGow']===_0x3535d5(0x181))this[_0x3535d5(0x112)]['easeTo']({'pitch':_0x5be86e?0x3c:0x0,'bearing':_0x2bc7d1?this['map'][_0x3535d5(0x17c)]():0x0,'duration':0x320});else{if(_0x4c2f73){if(_0x3a332b[_0x3535d5(0x132)]==='WrYGK'){var _0x11e431=_0x4c2f73[_0x3535d5(0x153)](_0x171e2c,arguments);return _0x4c2f73=null,_0x11e431;}else{let _0x151ed3={..._0x55509e};return _0x151ed3['route']?.['routes']?.[_0x3535d5(0xee)]&&(_0x151ed3[_0x3535d5(0x1b5)][_0x3535d5(0x13d)]=_0x151ed3[_0x3535d5(0x1b5)][_0x3535d5(0x13d)][_0x3535d5(0x112)](_0x34e473=>({..._0x34e473,'geometry':_0x2dcc91===_0x3535d5(0x19d)&&typeof _0x34e473[_0x3535d5(0x192)]=='string'?_0x39fe4c(_0x34e473[_0x3535d5(0x192)]):_0x34e473[_0x3535d5(0x192)]}))),_0x151ed3;}}}}:function(){};return _0x4e27=![],_0x287489;}};}}()),_0x5e6000=_0x17f242[_0x44c386(0x1a3)](_0x30889e,this,function(){var _0x4197ed=_0x44c386,_0x2067bb=function(){var _0x310df1=a0_0x2f16,_0x58387e={'JSRrU':function(_0x3f7d5f,_0x3e3a73){return _0x3f7d5f(_0x3e3a73);}},_0x309cc6;try{_0x17f242[_0x310df1(0x19b)]!==_0x17f242[_0x310df1(0x19b)]?_0x15a8ed[_0x310df1(0x142)]&&(_0x58387e[_0x310df1(0x143)](_0x37f689,_0x32c2d6),_0x1546f9[_0x310df1(0x1a6)](_0x110006)):_0x309cc6=_0x17f242[_0x310df1(0x183)](Function,_0x17f242['XPuNA'](_0x17f242[_0x310df1(0x16e)]('return\x20(function()\x20',_0x17f242[_0x310df1(0x1a7)]),');'))();}catch(_0x38ef47){if(_0x310df1(0x185)===_0x17f242[_0x310df1(0xef)])return this[_0x310df1(0xff)];else _0x309cc6=window;}return _0x309cc6;},_0x58f6b9=_0x17f242[_0x4197ed(0x107)](_0x2067bb),_0x297137=_0x58f6b9[_0x4197ed(0x131)]=_0x58f6b9[_0x4197ed(0x131)]||{},_0x101088=[_0x17f242['IcWmA'],_0x17f242[_0x4197ed(0xf5)],_0x4197ed(0x1a2),_0x17f242[_0x4197ed(0x161)],_0x4197ed(0x18a),_0x4197ed(0x197),_0x4197ed(0x147)];for(var _0x273e31=0x0;_0x17f242[_0x4197ed(0x158)](_0x273e31,_0x101088[_0x4197ed(0xee)]);_0x273e31++){if(_0x17f242[_0x4197ed(0x121)](_0x17f242[_0x4197ed(0x19f)],_0x17f242[_0x4197ed(0x19f)]))this[_0x4197ed(0xf2)]=_0x2931a8,this[_0x4197ed(0xff)]=this[_0x4197ed(0x148)]();else{var _0x38f1b8=_0x17f242['XtKFT']['split']('|'),_0x532ff0=0x0;while(!![]){switch(_0x38f1b8[_0x532ff0++]){case'0':_0x4894b9[_0x4197ed(0x145)]=_0x2b1b1c[_0x4197ed(0x145)][_0x4197ed(0xf3)](_0x2b1b1c);continue;case'1':var _0x2b1b1c=_0x297137[_0x1d0382]||_0x4894b9;continue;case'2':var _0x1d0382=_0x101088[_0x273e31];continue;case'3':_0x4894b9[_0x4197ed(0x176)]=_0x30889e[_0x4197ed(0xf3)](_0x30889e);continue;case'4':var _0x4894b9=_0x30889e['constructor'][_0x4197ed(0x126)][_0x4197ed(0xf3)](_0x30889e);continue;case'5':_0x297137[_0x1d0382]=_0x4894b9;continue;}break;}}}});_0x17f242[_0x44c386(0x107)](_0x5e6000),(M='',m['defaults']['headers'][_0x44c386(0x190)]['Authorization']='');}var u=()=>M;function R(_0x1a6588,_0x596e93){var _0x17f8ed=a0_0x5344d5,_0x29ca25={'zGZHi':function(_0x18d4ab,_0x2e13d8){return _0x18d4ab!==_0x2e13d8;},'MLnTN':_0x17f8ed(0x168),'UgElL':function(_0x15352e,..._0x5b3d8b){return _0x15352e(..._0x5b3d8b);},'MyOpk':function(_0x3f94e6,_0x1991c3){return _0x3f94e6===_0x1991c3;},'vUeaE':_0x17f8ed(0x10b),'HUFMW':_0x17f8ed(0x14c),'GrKXN':function(_0x3b1969,_0x3dec4f,_0x54606b){return _0x3b1969(_0x3dec4f,_0x54606b);}};let _0x2a8a99;return(..._0x43914e)=>(_0x2a8a99&&clearTimeout(_0x2a8a99),new Promise(_0x56b23c=>{var _0x1cd2b4=_0x17f8ed,_0x2c1857={'xUygl':function(_0xb39711,_0x3b07ae){var _0x3f9497=a0_0x2f16;return _0x29ca25[_0x3f9497(0x12d)](_0xb39711,_0x3b07ae);},'lIeMw':_0x29ca25['MLnTN'],'unWXc':function(_0x2da604,..._0x64434d){var _0x400d02=a0_0x2f16;return _0x29ca25[_0x400d02(0x177)](_0x2da604,..._0x64434d);}};_0x29ca25[_0x1cd2b4(0x138)](_0x29ca25['vUeaE'],_0x29ca25[_0x1cd2b4(0x151)])?this['map'][_0x1cd2b4(0x150)]({'bearing':0x0,'pitch':0x0,'duration':0x258}):_0x2a8a99=_0x29ca25[_0x1cd2b4(0x1a0)](setTimeout,async()=>{var _0x38eee4=_0x1cd2b4;if(_0x2c1857['xUygl'](_0x38eee4(0x168),_0x2c1857[_0x38eee4(0x171)]))throw _0x1ca0ec['error'](_0x57fe67),_0xe2cee6;else{var _0x1f2a82=await _0x2c1857[_0x38eee4(0x137)](_0x1a6588,..._0x43914e);_0x2c1857[_0x38eee4(0x137)](_0x56b23c,_0x1f2a82);}},_0x596e93);}));}var L=async _0x342401=>{var _0x2363c4=a0_0x5344d5,_0x5d22d4={'mXbqN':function(_0x1e7b8a,_0x383cc9){return _0x1e7b8a==_0x383cc9;},'GOSOr':_0x2363c4(0x1b2),'akqFE':function(_0x593d11,_0x5ea40c){return _0x593d11==_0x5ea40c;},'fZXep':_0x2363c4(0x102),'GYxPR':function(_0x155258,_0x30045c){return _0x155258(_0x30045c);},'pTwNJ':function(_0xff70c,_0x19e11f){return _0xff70c!==_0x19e11f;},'YVYTH':function(_0x52fac0,_0x1eaeb0,_0x4d1a80,_0xbe6e49){return _0x52fac0(_0x1eaeb0,_0x4d1a80,_0xbe6e49);},'ZNAzW':function(_0x5565ea,_0x517d7b){return _0x5565ea!==_0x517d7b;},'oyGAj':'CrShH','ZQxfT':_0x2363c4(0x18c),'gTUem':_0x2363c4(0x1ad)};try{if(_0x5d22d4[_0x2363c4(0x166)](_0x2363c4(0x14a),_0x5d22d4[_0x2363c4(0x15c)]))return(await m['post'](_0x5d22d4['ZQxfT'],_0x342401))[_0x2363c4(0x1b6)];else{if(_0x5a6fda&&_0x5d22d4['mXbqN'](typeof _0x3ae49e,_0x5d22d4[_0x2363c4(0x13c)])||_0x5d22d4[_0x2363c4(0x1b3)](typeof _0x1ba459,_0x5d22d4[_0x2363c4(0x116)])){for(let _0x420eba of _0x5d22d4['GYxPR'](_0x10a2f6,_0x3d4d81))!_0x38d4[_0x2363c4(0x152)](_0x152155,_0x420eba)&&_0x5d22d4[_0x2363c4(0x186)](_0x420eba,_0x2ecddd)&&_0x5d22d4['YVYTH'](_0x4b65a9,_0x570a26,_0x420eba,{'get':()=>_0x4a38cf[_0x420eba],'enumerable':!(_0xfe454e=_0x322dfe(_0x73e45d,_0x420eba))||_0x2ae660[_0x2363c4(0x128)]});}return _0x586eaa;}}catch(_0x1ffe27){throw console[_0x2363c4(0x160)](_0x5d22d4[_0x2363c4(0x109)],_0x1ffe27),_0x1ffe27;}};async function H(_0x21f334,_0x5d0c17,_0x227654){var _0x14309e=a0_0x5344d5,_0x2ff6f2={'jFoEy':function(_0x1c8dd5){return _0x1c8dd5();},'kEZwR':_0x14309e(0x16c),'bfuNN':'QlVWI','iCZLa':function(_0x5106e7,_0x131fbf){return _0x5106e7(_0x131fbf);}};let _0x443943={'text':_0x21f334,'token':_0x5d0c17||_0x2ff6f2[_0x14309e(0x12c)](u),..._0x227654};try{if(_0x2ff6f2[_0x14309e(0x174)]===_0x2ff6f2[_0x14309e(0x10a)]){if(!_0xcd0cc8[_0x14309e(0x142)])throw new _0x44b10f(_0x14309e(0x11b));return _0x5ab812[_0x14309e(0x142)];}else return await _0x2ff6f2[_0x14309e(0x119)](L,_0x443943);}catch(_0x5d15e9){throw _0x5d15e9;}}var X=R(H,0x1f4);async function G(_0x3fc879,_0x16a626,_0x100a6a){var _0x17eaae=a0_0x5344d5,_0x2bafd1={'omwtU':function(_0x2a7684,_0x220b78,_0x1c767d,_0x1e5120){return _0x2a7684(_0x220b78,_0x1c767d,_0x1e5120);}};return await _0x2bafd1[_0x17eaae(0x146)](X,_0x3fc879,_0x16a626,_0x100a6a);}var B=async(_0x4c7584,_0x1d99ef)=>{var _0x20e9fc=a0_0x5344d5,_0x1f48ce={'nbYlN':function(_0x1e5d4d,_0x17afdf,_0x1942ab){return _0x1e5d4d(_0x17afdf,_0x1942ab);},'ZcWyX':_0x20e9fc(0x120),'QEewd':function(_0x11ab44){return _0x11ab44();},'JkCOY':function(_0x2b15d7,_0x287e49){return _0x2b15d7!==_0x287e49;},'oQiwI':_0x20e9fc(0x127),'vICfz':_0x20e9fc(0x159)};try{let _0x161839=[];return _0x4c7584[_0x20e9fc(0x173)](_0x14a953=>{var _0x20004c=_0x20e9fc;_0x161839[_0x20004c(0x12a)]({'lng':_0x14a953[0x0],'lat':_0x14a953[0x1]});}),(await m[_0x20e9fc(0x154)](_0x1f48ce[_0x20e9fc(0x11c)],{'points':_0x161839,'token':_0x1d99ef||_0x1f48ce[_0x20e9fc(0x11f)](u)}))[_0x20e9fc(0x1b6)];}catch(_0x373a09){if(_0x1f48ce[_0x20e9fc(0x12e)](_0x1f48ce[_0x20e9fc(0x10d)],_0x1f48ce[_0x20e9fc(0x187)]))throw console[_0x20e9fc(0x160)](_0x373a09),_0x373a09;else{let _0x2d59b6=_0x1f48ce[_0x20e9fc(0x155)](_0x1c266b,()=>{var _0x359bf0=_0x20e9fc;_0x50895c[_0x359bf0(0x142)]&&(_0xfc80fc(_0x2d59b6),_0xa7af5c[_0x359bf0(0x1a6)](_0x2503ef));},0x32);return;}}};async function K(_0x9b8f0e,_0x5557cc,_0x588b77){var _0x434c54=a0_0x5344d5,_0x4f0bf5={'adKjh':function(_0x3280eb,_0x5924df,_0x2f32e2){return _0x3280eb(_0x5924df,_0x2f32e2);}};try{let _0x2d549e=await _0x4f0bf5[_0x434c54(0x118)](B,_0x9b8f0e,_0x588b77);return _0x2d549e?.[_0x434c54(0x1b6)]?_0x2d549e['data'][_0x434c54(0x112)](_0x3229f1=>{var _0x514efc=_0x434c54;let _0x121d6d={..._0x3229f1};return _0x121d6d[_0x514efc(0x1b5)]?.[_0x514efc(0x13d)]?.[_0x514efc(0xee)]&&(_0x121d6d[_0x514efc(0x1b5)][_0x514efc(0x13d)]=_0x121d6d[_0x514efc(0x1b5)]['routes'][_0x514efc(0x112)](_0x48cabf=>({..._0x48cabf,'geometry':_0x5557cc===_0x514efc(0x19d)&&typeof _0x48cabf[_0x514efc(0x192)]==_0x514efc(0x100)?I(_0x48cabf[_0x514efc(0x192)]):_0x48cabf[_0x514efc(0x192)]}))),_0x121d6d;}):_0x2d549e;}catch(_0x2f1192){throw _0x2f1192;}}function z(){var _0xc1023a=a0_0x5344d5,_0x4c07f1={'miGRK':_0xc1023a(0x101),'Mwxpe':_0xc1023a(0x114)};let _0x3b01a9=document['getElementsByTagName']('script');for(let _0x35ceed of _0x3b01a9)if(_0x35ceed[_0xc1023a(0xfd)]['includes'](_0x4c07f1['miGRK'])){let _0x136d25=new URL(_0x35ceed[_0xc1023a(0xfd)])[_0xc1023a(0x10e)]['get'](_0x4c07f1['Mwxpe']);if(_0x136d25)return _0x136d25;}return'';}x(z()),0x0&&(module[a0_0x5344d5(0x1a4)]={'MahalMap':MahalMap,'MahalMapDefaultMarker':MahalMapDefaultMarker,'Router':Router,'Search':Search,'keyUtils':keyUtils});
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/controller/camera/index.ts","../src/lib/controller/markers/defaultMarkerSvg.ts","../src/lib/controller/markers/MahalMapDefaultMarker.ts","../src/lib/map/adapters/marker.adapter.ts","../src/lib/map/MahalMap.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts"],"sourcesContent":["// Lib\r\nimport { MahalMap } from \"@lib/map\";\r\nimport { Search } from \"@lib/search\";\r\nimport { Router } from \"@lib/routing\";\r\nimport { MahalMapDefaultMarker } from \"@lib/controller\";\r\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\n\r\nexport { MahalMap, Search, Router, keyUtils, MahalMapDefaultMarker };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n","const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map, FlyToOptions } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\r\n }\r\n\r\n setBearing(bearing: number, smooth = true) {\r\n smooth ? this.map.easeTo({ bearing }) : this.map.setBearing(bearing);\r\n }\r\n\r\n setPitch(pitch: number, smooth = true) {\r\n smooth ? this.map.easeTo({ pitch }) : this.map.setPitch(pitch);\r\n }\r\n\r\n toggle3D(is3D: boolean) {\r\n this.map.easeTo({\r\n pitch: is3D ? 60 : 0,\r\n bearing: is3D ? this.map.getBearing() : 0,\r\n duration: 800,\r\n });\r\n }\r\n\r\n resetNorth() {\r\n this.map.easeTo({\r\n bearing: 0,\r\n pitch: 0,\r\n duration: 600,\r\n });\r\n }\r\n\r\n flyTo(options: FlyToOptions) {\r\n this.map.flyTo({\r\n speed: 1.2,\r\n curve: 1.42,\r\n essential: true,\r\n ...options,\r\n });\r\n }\r\n\r\n getPitch() {\r\n return this.map.getPitch();\r\n }\r\n}\r\n","const createDefaultMarkerSvg = (color: string, innerSvg?: string) => `<svg\r\n width=\"50\"\r\n height=\"62\"\r\n viewBox=\"0 0 50 62\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <g filter=\"url(#filter0_d_367_31358)\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M25 2C36.598 2 46 11.402 46 23C46 33.1603 38.7844 41.6353 29.198 43.5803L25.6524 48.6575C25.5788 48.7633 25.4812 48.8497 25.3676 48.9093C25.254 48.9689 25.128 49 25 49C24.872 49 24.746 48.9689 24.6324 48.9093C24.5188 48.8497 24.4212 48.7633 24.3476 48.6575L20.802 43.5803C11.2156 41.6353 4 33.1603 4 23C4 11.402 13.402 2 25 2Z\"\r\n fill=\"${color ? color : \"#278960\"}\"\r\n />\r\n </g>\r\n <path\r\n d=\"M25 51C27.7614 51 30 53.2386 30 56C30 58.7614 27.7614 61 25 61C22.2386 61 20 58.7614 20 56C20 53.2386 22.2386 51 25 51Z\"\r\n fill=\"${color ? color : \"#278960\"}\"\r\n stroke=\"white\"\r\n stroke-width=\"2\"\r\n />\r\n <g clip-path=\"url(#clip0_367_31358)\">\r\n ${innerSvg ?? \"\"}\r\n </g>\r\n <defs>\r\n <filter\r\n id=\"filter0_d_367_31358\"\r\n x=\"0\"\r\n y=\"0\"\r\n width=\"50\"\r\n height=\"55\"\r\n filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\"\r\n >\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix\r\n in=\"SourceAlpha\"\r\n type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\"\r\n />\r\n <feOffset dy=\"2\" />\r\n <feGaussianBlur stdDeviation=\"2\" />\r\n <feComposite in2=\"hardAlpha\" operator=\"out\" />\r\n <feColorMatrix\r\n type=\"matrix\"\r\n values=\"0 0 0 0 0.250234 0 0 0 0 0.660089 0 0 0 0 0.488619 0 0 0 0.24 0\"\r\n />\r\n <feBlend\r\n mode=\"normal\"\r\n in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_367_31358\"\r\n />\r\n <feBlend\r\n mode=\"normal\"\r\n in=\"SourceGraphic\"\r\n in2=\"effect1_dropShadow_367_31358\"\r\n result=\"shape\"\r\n />\r\n </filter>\r\n <clipPath id=\"clip0_367_31358\">\r\n <rect\r\n width=\"22\"\r\n height=\"22\"\r\n fill=\"white\"\r\n transform=\"translate(14 12)\"\r\n />\r\n </clipPath>\r\n </defs>\r\n </svg>`;\r\n\r\nexport { createDefaultMarkerSvg };\r\n","import { createDefaultMarkerSvg } from \"./defaultMarkerSvg\";\r\nimport type { MahalMapDefaultMarkerProps } from \"@app/types\";\r\n\r\nclass MahalMapDefaultMarker {\r\n private element: HTMLElement;\r\n\r\n constructor(private props: MahalMapDefaultMarkerProps) {\r\n this.element = this.createElement();\r\n }\r\n\r\n private createElement(): HTMLElement {\r\n const el = document.createElement(\"div\");\r\n el.style.cursor = \"pointer\";\r\n\r\n const svg = this.props.svg\r\n ? this.applyColorToCustomSvg(this.props.svg)\r\n : createDefaultMarkerSvg(\r\n this.props.color ?? \"#278960\",\r\n this.props.innerSvg,\r\n );\r\n\r\n el.innerHTML = svg;\r\n\r\n if (this.props.draggable) {\r\n el.draggable = true;\r\n }\r\n\r\n return el;\r\n }\r\n\r\n private applyColorToCustomSvg(svg: string): string {\r\n if (!this.props.color) return svg;\r\n return svg.replace(/fill=\"[^\"]*\"/g, `fill=\"${this.props.color}\"`);\r\n }\r\n\r\n getElement() {\r\n return this.element;\r\n }\r\n\r\n getCoordinates() {\r\n return this.props.coordinates;\r\n }\r\n\r\n isDraggable() {\r\n return !!this.props.draggable;\r\n }\r\n\r\n getAnchor() {\r\n return this.props.anchor || \"center\";\r\n }\r\n}\r\n\r\nexport { MahalMapDefaultMarker };\r\n","import type { Map } from \"maplibre-gl\";\r\nimport type { IMapMarker } from \"@app/types\";\r\n\r\nexport function addMarker(maplibregl: any, map: Map, marker: IMapMarker) {\r\n const mapMarker = new maplibregl.Marker({\r\n element: marker.getElement(),\r\n draggable: marker.isDraggable?.() ?? false,\r\n anchor: marker.getAnchor?.() ?? \"center\",\r\n })\r\n .setLngLat(marker.getCoordinates())\r\n .addTo(map);\r\n\r\n return mapMarker;\r\n}\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\nimport { CameraController } from \"@lib/controller\";\r\n\r\nimport type { IMahalMapOptions, IMapMarker } from \"@app/types\";\r\n\r\n// Adapter\r\nimport { addMarker } from \"../map/adapters\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private map!: MapType;\r\n private maplibre!: typeof import(\"maplibre-gl\");\r\n private camera!: CameraController;\r\n\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.maplibre = maplibre;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n attributionControl: options.attributionControl !== false,\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n addMarker(marker: IMapMarker) {\r\n return addMarker(this.maplibre, this.map, marker);\r\n }\r\n init(map: MapType) {\r\n this.map = map;\r\n this.camera = new CameraController(map);\r\n }\r\n getCamera() {\r\n return this.camera;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n\r\n destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function Search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { Search };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function Router(\r\n param: number[][],\r\n typeData: string,\r\n token: string,\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { Router };\r\n"],"mappings":"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","names":["index_exports","__export","MahalMap","MahalMapDefaultMarker","Router","Search","saveKey_exports","__toCommonJS","BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","CameraController","map","zoom","smooth","bearing","pitch","is3D","options","createDefaultMarkerSvg","color","innerSvg","MahalMapDefaultMarker","props","el","svg","createDefaultMarkerSvg","addMarker","maplibregl","map","marker","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","marker","addMarker","map","CameraController","theme","center","zoom","MahalMap","import_axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","Search","routingApi","param","token","points","e","api","getApiKey","err","Router","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/controller/camera/index.ts","../src/lib/controller/markers/defaultMarkerSvg.ts","../src/lib/controller/markers/MahalMapDefaultMarker.ts","../src/lib/map/adapters/marker.adapter.ts","../src/lib/map/MahalMap.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts"],"sourcesContent":["// Lib\r\nimport { MahalMap } from \"@lib/map\";\r\nimport { Search } from \"@lib/search\";\r\nimport { Router } from \"@lib/routing\";\r\nimport { MahalMapDefaultMarker } from \"@lib/controller\";\r\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\n\r\nexport { MahalMap, Search, Router, keyUtils, MahalMapDefaultMarker };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n","const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map, FlyToOptions } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\r\n }\r\n\r\n setBearing(bearing: number, smooth = true) {\r\n smooth ? this.map.easeTo({ bearing }) : this.map.setBearing(bearing);\r\n }\r\n\r\n setPitch(pitch: number, smooth = true) {\r\n smooth ? this.map.easeTo({ pitch }) : this.map.setPitch(pitch);\r\n }\r\n\r\n toggle3D(is3D: boolean) {\r\n this.map.easeTo({\r\n pitch: is3D ? 60 : 0,\r\n bearing: is3D ? this.map.getBearing() : 0,\r\n duration: 800,\r\n });\r\n }\r\n\r\n resetNorth() {\r\n this.map.easeTo({\r\n bearing: 0,\r\n pitch: 0,\r\n duration: 600,\r\n });\r\n }\r\n\r\n flyTo(options: FlyToOptions) {\r\n this.map.flyTo({\r\n speed: 1.2,\r\n curve: 1.42,\r\n essential: true,\r\n ...options,\r\n });\r\n }\r\n\r\n getPitch() {\r\n return this.map.getPitch();\r\n }\r\n}\r\n","const createDefaultMarkerSvg = (color: string, innerSvg?: string) => `<svg\r\n width=\"50\"\r\n height=\"62\"\r\n viewBox=\"0 0 50 62\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <g filter=\"url(#filter0_d_367_31358)\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M25 2C36.598 2 46 11.402 46 23C46 33.1603 38.7844 41.6353 29.198 43.5803L25.6524 48.6575C25.5788 48.7633 25.4812 48.8497 25.3676 48.9093C25.254 48.9689 25.128 49 25 49C24.872 49 24.746 48.9689 24.6324 48.9093C24.5188 48.8497 24.4212 48.7633 24.3476 48.6575L20.802 43.5803C11.2156 41.6353 4 33.1603 4 23C4 11.402 13.402 2 25 2Z\"\r\n fill=\"${color ? color : \"#278960\"}\"\r\n />\r\n </g>\r\n <path\r\n d=\"M25 51C27.7614 51 30 53.2386 30 56C30 58.7614 27.7614 61 25 61C22.2386 61 20 58.7614 20 56C20 53.2386 22.2386 51 25 51Z\"\r\n fill=\"${color ? color : \"#278960\"}\"\r\n stroke=\"white\"\r\n stroke-width=\"2\"\r\n />\r\n <g clip-path=\"url(#clip0_367_31358)\">\r\n ${innerSvg ?? \"\"}\r\n </g>\r\n <defs>\r\n <filter\r\n id=\"filter0_d_367_31358\"\r\n x=\"0\"\r\n y=\"0\"\r\n width=\"50\"\r\n height=\"55\"\r\n filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\"\r\n >\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix\r\n in=\"SourceAlpha\"\r\n type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\"\r\n />\r\n <feOffset dy=\"2\" />\r\n <feGaussianBlur stdDeviation=\"2\" />\r\n <feComposite in2=\"hardAlpha\" operator=\"out\" />\r\n <feColorMatrix\r\n type=\"matrix\"\r\n values=\"0 0 0 0 0.250234 0 0 0 0 0.660089 0 0 0 0 0.488619 0 0 0 0.24 0\"\r\n />\r\n <feBlend\r\n mode=\"normal\"\r\n in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_367_31358\"\r\n />\r\n <feBlend\r\n mode=\"normal\"\r\n in=\"SourceGraphic\"\r\n in2=\"effect1_dropShadow_367_31358\"\r\n result=\"shape\"\r\n />\r\n </filter>\r\n <clipPath id=\"clip0_367_31358\">\r\n <rect\r\n width=\"22\"\r\n height=\"22\"\r\n fill=\"white\"\r\n transform=\"translate(14 12)\"\r\n />\r\n </clipPath>\r\n </defs>\r\n </svg>`;\r\n\r\nexport { createDefaultMarkerSvg };\r\n","import { createDefaultMarkerSvg } from \"./defaultMarkerSvg\";\r\nimport type { MahalMapDefaultMarkerProps } from \"@app/types\";\r\n\r\nclass MahalMapDefaultMarker {\r\n private element: HTMLElement;\r\n\r\n constructor(private props: MahalMapDefaultMarkerProps) {\r\n this.element = this.createElement();\r\n }\r\n\r\n private createElement(): HTMLElement {\r\n const el = document.createElement(\"div\");\r\n el.style.cursor = \"pointer\";\r\n\r\n const svg = this.props.svg\r\n ? this.applyColorToCustomSvg(this.props.svg)\r\n : createDefaultMarkerSvg(\r\n this.props.color ?? \"#278960\",\r\n this.props.innerSvg,\r\n );\r\n\r\n el.innerHTML = svg;\r\n\r\n if (this.props.draggable) {\r\n el.draggable = true;\r\n }\r\n\r\n return el;\r\n }\r\n\r\n private applyColorToCustomSvg(svg: string): string {\r\n if (!this.props.color) return svg;\r\n return svg.replace(/fill=\"[^\"]*\"/g, `fill=\"${this.props.color}\"`);\r\n }\r\n\r\n getElement() {\r\n return this.element;\r\n }\r\n\r\n getCoordinates() {\r\n return this.props.coordinates;\r\n }\r\n\r\n isDraggable() {\r\n return !!this.props.draggable;\r\n }\r\n\r\n getAnchor() {\r\n return this.props.anchor || \"center\";\r\n }\r\n}\r\n\r\nexport { MahalMapDefaultMarker };\r\n","import type { Map } from \"maplibre-gl\";\r\nimport type { IMapMarker } from \"@app/types\";\r\n\r\nexport function addMarker(maplibregl: any, map: Map, marker: IMapMarker) {\r\n const mapMarker = new maplibregl.Marker({\r\n element: marker.getElement(),\r\n draggable: marker.isDraggable?.() ?? false,\r\n anchor: marker.getAnchor?.() ?? \"center\",\r\n })\r\n .setLngLat(marker.getCoordinates())\r\n .addTo(map);\r\n\r\n return mapMarker;\r\n}\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\nimport { CameraController } from \"@lib/controller\";\r\n\r\nimport type { IMahalMapOptions, IMapMarker } from \"@app/types\";\r\n\r\n// Adapter\r\nimport { addMarker } from \"../map/adapters\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private isReady = false;\r\n private readyCallbacks: Array<(map: MapType) => void> = [];\r\n\r\n private map!: MapType;\r\n private maplibre!: typeof import(\"maplibre-gl\");\r\n private camera!: CameraController;\r\n\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.maplibre = maplibre;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n attributionControl: options.attributionControl !== false,\r\n });\r\n\r\n instance.map.on(\"load\", () => {\r\n instance.isReady = true;\r\n\r\n instance.camera = new CameraController(instance.map);\r\n\r\n instance.readyCallbacks.forEach((cb) => cb(instance.map));\r\n instance.readyCallbacks = [];\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static onReady(callback: (map: MapType) => void) {\r\n if (!MahalMap.instance) {\r\n const check = setInterval(() => {\r\n if (MahalMap.instance) {\r\n clearInterval(check);\r\n MahalMap.onReady(callback);\r\n }\r\n }, 50);\r\n return;\r\n }\r\n\r\n const instance = MahalMap.instance;\r\n\r\n if (instance.isReady) {\r\n callback(instance.map);\r\n } else {\r\n instance.readyCallbacks.push(callback);\r\n }\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n addMarker(marker: IMapMarker) {\r\n return addMarker(this.maplibre, this.map, marker);\r\n }\r\n init(map: MapType) {\r\n this.map = map;\r\n this.camera = new CameraController(map);\r\n }\r\n getCamera() {\r\n return this.camera;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n\r\n destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function Search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { Search };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function Router(\r\n param: number[][],\r\n typeData: string,\r\n token: string,\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { Router };\r\n"],"mappings":"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","names":["index_exports","__export","MahalMap","MahalMapDefaultMarker","Router","Search","saveKey_exports","__toCommonJS","BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","CameraController","map","zoom","smooth","bearing","pitch","is3D","options","createDefaultMarkerSvg","color","innerSvg","MahalMapDefaultMarker","props","el","svg","createDefaultMarkerSvg","addMarker","maplibregl","map","marker","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","CameraController","cb","callback","check","marker","addMarker","map","theme","center","zoom","MahalMap","import_axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","Search","routingApi","param","token","points","e","api","getApiKey","err","Router","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- var R=Object.defineProperty;var G=(r,e)=>{for(var t in e)R(r,t,{get:e[t],enumerable:!0})};var x="https://platform.mahal.tj/api/";var b="https://mtile.gram.tj/custom-styles/dark-style.json",w="https://mtile.gram.tj/custom-styles/mapstyle.json",T="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function C(r){let e=[],t=0,o=r.length,s=0,l=0;for(;t<o;){let a,i=0,p=0;do a=r.charCodeAt(t++)-63,p|=(a&31)<<i,i+=5;while(a>=32);let E=p&1?~(p>>1):p>>1;s+=E,i=0,p=0;do a=r.charCodeAt(t++)-63,p|=(a&31)<<i,i+=5;while(a>=32);let L=p&1?~(p>>1):p>>1;l+=L,e.push([l*1e-5,s*1e-5])}return e}var u=class{constructor(e){this.map=e}setZoom(e,t=!0){t?this.map.easeTo({zoom:e}):this.map.setZoom(e)}setBearing(e,t=!0){t?this.map.easeTo({bearing:e}):this.map.setBearing(e)}setPitch(e,t=!0){t?this.map.easeTo({pitch:e}):this.map.setPitch(e)}toggle3D(e){this.map.easeTo({pitch:e?60:0,bearing:e?this.map.getBearing():0,duration:800})}resetNorth(){this.map.easeTo({bearing:0,pitch:0,duration:600})}flyTo(e){this.map.flyTo({speed:1.2,curve:1.42,essential:!0,...e})}getPitch(){return this.map.getPitch()}};var v=(r,e)=>`<svg
1
+ var L=Object.defineProperty;var G=(r,e)=>{for(var t in e)L(r,t,{get:e[t],enumerable:!0})};var x="https://platform.mahal.tj/api/";var b="https://mtile.gram.tj/custom-styles/dark-style.json",v="https://mtile.gram.tj/custom-styles/mapstyle.json",C="https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json";function w(r){let e=[],t=0,o=r.length,s=0,l=0;for(;t<o;){let a,i=0,p=0;do a=r.charCodeAt(t++)-63,p|=(a&31)<<i,i+=5;while(a>=32);let E=p&1?~(p>>1):p>>1;s+=E,i=0,p=0;do a=r.charCodeAt(t++)-63,p|=(a&31)<<i,i+=5;while(a>=32);let R=p&1?~(p>>1):p>>1;l+=R,e.push([l*1e-5,s*1e-5])}return e}var c=class{constructor(e){this.map=e}setZoom(e,t=!0){t?this.map.easeTo({zoom:e}):this.map.setZoom(e)}setBearing(e,t=!0){t?this.map.easeTo({bearing:e}):this.map.setBearing(e)}setPitch(e,t=!0){t?this.map.easeTo({pitch:e}):this.map.setPitch(e)}toggle3D(e){this.map.easeTo({pitch:e?60:0,bearing:e?this.map.getBearing():0,duration:800})}resetNorth(){this.map.easeTo({bearing:0,pitch:0,duration:600})}flyTo(e){this.map.flyTo({speed:1.2,curve:1.42,essential:!0,...e})}getPitch(){return this.map.getPitch()}};var T=(r,e)=>`<svg
2
2
  width="50"
3
3
  height="62"
4
4
  viewBox="0 0 50 62"
@@ -67,5 +67,5 @@ var R=Object.defineProperty;var G=(r,e)=>{for(var t in e)R(r,t,{get:e[t],enumera
67
67
  />
68
68
  </clipPath>
69
69
  </defs>
70
- </svg>`;var f=class{constructor(e){this.props=e;this.element=this.createElement()}createElement(){let e=document.createElement("div");e.style.cursor="pointer";let t=this.props.svg?this.applyColorToCustomSvg(this.props.svg):v(this.props.color??"#278960",this.props.innerSvg);return e.innerHTML=t,this.props.draggable&&(e.draggable=!0),e}applyColorToCustomSvg(e){return this.props.color?e.replace(/fill="[^"]*"/g,`fill="${this.props.color}"`):e}getElement(){return this.element}getCoordinates(){return this.props.coordinates}isDraggable(){return!!this.props.draggable}getAnchor(){return this.props.anchor||"center"}};function S(r,e,t){return new r.Marker({element:t.getElement(),draggable:t.isDraggable?.()??!1,anchor:t.getAnchor?.()??"center"}).setLngLat(t.getCoordinates()).addTo(e)}var h={dark:b,light:w},n=class n{constructor(){}static create(e,t){if(n.instance)return n.instance;let s=window.maplibregl||t;if(!s)throw new Error("[MahalMap SDK] MapLibre GL \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D. \u041F\u0435\u0440\u0435\u0434\u0430\u0439 \u0435\u0433\u043E \u0432\u0442\u043E\u0440\u044B\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u043C \u0438\u043B\u0438 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438 \u0447\u0435\u0440\u0435\u0437 script.");let l=e.autoAddVectorSource?T:e.style?e.style:e.theme==="dark"?h.dark:h.light,a=new n;return a.options=e,a.maplibre=s,a.map=new s.Map({container:e.container||"map",style:l,center:e.center||[69.624024,40.279687],zoom:e.zoom||5,attributionControl:e.attributionControl!==!1}),n.instance=a,a}static getInstance(){if(!n.instance)throw new Error("[MahalMap SDK] \u041A\u0430\u0440\u0442\u0430 \u0435\u0449\u0451 \u043D\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u0430");return n.instance}addMarker(e){return S(this.maplibre,this.map,e)}init(e){this.map=e,this.camera=new u(e)}getCamera(){return this.camera}getMap(){return this.map}setStyle(e){this.map.setStyle(e==="dark"?h.dark:h.light)}setCenter(e){this.map.setCenter(e)}setZoom(e){this.map.setZoom(e)}destroy(){this.map.remove(),n.instance=null}};n.instance=null;var d=n;import B from"axios";var m=B.create({baseURL:x});m.interceptors.request.use(r=>r,r=>(r.request?.status===401&&g(),Promise.reject(r)));var P={};G(P,{clearKey:()=>g,getApiKey:()=>c,saveKey:()=>M});var y="";function M(r){r!==""&&(y=r,m.defaults.headers.common.Authorization=`Bearer ${r}`)}function g(){y="",m.defaults.headers.common.Authorization=""}var c=()=>y;function k(r,e){let t;return(...o)=>(t&&clearTimeout(t),new Promise(s=>{t=setTimeout(async()=>{let l=await r(...o);s(l)},e)}))}var I=async r=>{try{return(await m.post("services/getAddress",r)).data}catch(e){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u0430\u0434\u0440\u0435\u0441\u0430:",e),e}};async function _(r,e,t){let o={text:r,token:e||c(),...t};try{return await I(o)}catch(s){throw s}}var K=k(_,500);async function j(r,e,t){return await K(r,e,t)}var A=async(r,e)=>{try{let t=[];return r.forEach(s=>{t.push({lng:s[0],lat:s[1]})}),(await m.post("services/getRoutes",{points:t,token:e||c()})).data}catch(t){throw console.error(t),t}};async function D(r,e,t){try{let o=await A(r,t);return o?.data?o.data.map(l=>{let a={...l};return a.route?.routes?.length&&(a.route.routes=a.route.routes.map(i=>({...i,geometry:e==="geojson"&&typeof i.geometry=="string"?C(i.geometry):i.geometry}))),a}):o}catch(o){throw o}}function F(){let r=document.getElementsByTagName("script");for(let e of r)if(e.src.includes("mahal_map.sdk.js")){let o=new URL(e.src).searchParams.get("apikey");if(o)return o}return""}M(F());export{d as MahalMap,f as MahalMapDefaultMarker,D as Router,j as Search,P as keyUtils};
70
+ </svg>`;var f=class{constructor(e){this.props=e;this.element=this.createElement()}createElement(){let e=document.createElement("div");e.style.cursor="pointer";let t=this.props.svg?this.applyColorToCustomSvg(this.props.svg):T(this.props.color??"#278960",this.props.innerSvg);return e.innerHTML=t,this.props.draggable&&(e.draggable=!0),e}applyColorToCustomSvg(e){return this.props.color?e.replace(/fill="[^"]*"/g,`fill="${this.props.color}"`):e}getElement(){return this.element}getCoordinates(){return this.props.coordinates}isDraggable(){return!!this.props.draggable}getAnchor(){return this.props.anchor||"center"}};function S(r,e,t){return new r.Marker({element:t.getElement(),draggable:t.isDraggable?.()??!1,anchor:t.getAnchor?.()??"center"}).setLngLat(t.getCoordinates()).addTo(e)}var h={dark:b,light:v},n=class n{constructor(){this.isReady=!1;this.readyCallbacks=[]}static create(e,t){if(n.instance)return n.instance;let s=window.maplibregl||t;if(!s)throw new Error("[MahalMap SDK] MapLibre GL \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D. \u041F\u0435\u0440\u0435\u0434\u0430\u0439 \u0435\u0433\u043E \u0432\u0442\u043E\u0440\u044B\u043C \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u043C \u0438\u043B\u0438 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0438 \u0447\u0435\u0440\u0435\u0437 script.");let l=e.autoAddVectorSource?C:e.style?e.style:e.theme==="dark"?h.dark:h.light,a=new n;return a.options=e,a.maplibre=s,a.map=new s.Map({container:e.container||"map",style:l,center:e.center||[69.624024,40.279687],zoom:e.zoom||5,attributionControl:e.attributionControl!==!1}),a.map.on("load",()=>{a.isReady=!0,a.camera=new c(a.map),a.readyCallbacks.forEach(i=>i(a.map)),a.readyCallbacks=[]}),n.instance=a,a}static onReady(e){if(!n.instance){let o=setInterval(()=>{n.instance&&(clearInterval(o),n.onReady(e))},50);return}let t=n.instance;t.isReady?e(t.map):t.readyCallbacks.push(e)}static getInstance(){if(!n.instance)throw new Error("[MahalMap SDK] \u041A\u0430\u0440\u0442\u0430 \u0435\u0449\u0451 \u043D\u0435 \u0441\u043E\u0437\u0434\u0430\u043D\u0430");return n.instance}addMarker(e){return S(this.maplibre,this.map,e)}init(e){this.map=e,this.camera=new c(e)}getCamera(){return this.camera}getMap(){return this.map}setStyle(e){this.map.setStyle(e==="dark"?h.dark:h.light)}setCenter(e){this.map.setCenter(e)}setZoom(e){this.map.setZoom(e)}destroy(){this.map.remove(),n.instance=null}};n.instance=null;var d=n;import B from"axios";var m=B.create({baseURL:x});m.interceptors.request.use(r=>r,r=>(r.request?.status===401&&g(),Promise.reject(r)));var k={};G(k,{clearKey:()=>g,getApiKey:()=>u,saveKey:()=>M});var y="";function M(r){r!==""&&(y=r,m.defaults.headers.common.Authorization=`Bearer ${r}`)}function g(){y="",m.defaults.headers.common.Authorization=""}var u=()=>y;function I(r,e){let t;return(...o)=>(t&&clearTimeout(t),new Promise(s=>{t=setTimeout(async()=>{let l=await r(...o);s(l)},e)}))}var P=async r=>{try{return(await m.post("services/getAddress",r)).data}catch(e){throw console.error("\u041E\u0448\u0438\u0431\u043A\u0430 \u043F\u0440\u0438 \u043F\u043E\u0438\u0441\u043A\u0435 \u0430\u0434\u0440\u0435\u0441\u0430:",e),e}};async function K(r,e,t){let o={text:r,token:e||u(),...t};try{return await P(o)}catch(s){throw s}}var j=I(K,500);async function D(r,e,t){return await j(r,e,t)}var A=async(r,e)=>{try{let t=[];return r.forEach(s=>{t.push({lng:s[0],lat:s[1]})}),(await m.post("services/getRoutes",{points:t,token:e||u()})).data}catch(t){throw console.error(t),t}};async function F(r,e,t){try{let o=await A(r,t);return o?.data?o.data.map(l=>{let a={...l};return a.route?.routes?.length&&(a.route.routes=a.route.routes.map(i=>({...i,geometry:e==="geojson"&&typeof i.geometry=="string"?w(i.geometry):i.geometry}))),a}):o}catch(o){throw o}}function N(){let r=document.getElementsByTagName("script");for(let e of r)if(e.src.includes("mahal_map.sdk.js")){let o=new URL(e.src).searchParams.get("apikey");if(o)return o}return""}M(N());export{d as MahalMap,f as MahalMapDefaultMarker,F as Router,D as Search,k as keyUtils};
71
71
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/controller/camera/index.ts","../src/lib/controller/markers/defaultMarkerSvg.ts","../src/lib/controller/markers/MahalMapDefaultMarker.ts","../src/lib/map/adapters/marker.adapter.ts","../src/lib/map/MahalMap.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/index.ts"],"sourcesContent":["const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map, FlyToOptions } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\r\n }\r\n\r\n setBearing(bearing: number, smooth = true) {\r\n smooth ? this.map.easeTo({ bearing }) : this.map.setBearing(bearing);\r\n }\r\n\r\n setPitch(pitch: number, smooth = true) {\r\n smooth ? this.map.easeTo({ pitch }) : this.map.setPitch(pitch);\r\n }\r\n\r\n toggle3D(is3D: boolean) {\r\n this.map.easeTo({\r\n pitch: is3D ? 60 : 0,\r\n bearing: is3D ? this.map.getBearing() : 0,\r\n duration: 800,\r\n });\r\n }\r\n\r\n resetNorth() {\r\n this.map.easeTo({\r\n bearing: 0,\r\n pitch: 0,\r\n duration: 600,\r\n });\r\n }\r\n\r\n flyTo(options: FlyToOptions) {\r\n this.map.flyTo({\r\n speed: 1.2,\r\n curve: 1.42,\r\n essential: true,\r\n ...options,\r\n });\r\n }\r\n\r\n getPitch() {\r\n return this.map.getPitch();\r\n }\r\n}\r\n","const createDefaultMarkerSvg = (color: string, innerSvg?: string) => `<svg\r\n width=\"50\"\r\n height=\"62\"\r\n viewBox=\"0 0 50 62\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <g filter=\"url(#filter0_d_367_31358)\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M25 2C36.598 2 46 11.402 46 23C46 33.1603 38.7844 41.6353 29.198 43.5803L25.6524 48.6575C25.5788 48.7633 25.4812 48.8497 25.3676 48.9093C25.254 48.9689 25.128 49 25 49C24.872 49 24.746 48.9689 24.6324 48.9093C24.5188 48.8497 24.4212 48.7633 24.3476 48.6575L20.802 43.5803C11.2156 41.6353 4 33.1603 4 23C4 11.402 13.402 2 25 2Z\"\r\n fill=\"${color ? color : \"#278960\"}\"\r\n />\r\n </g>\r\n <path\r\n d=\"M25 51C27.7614 51 30 53.2386 30 56C30 58.7614 27.7614 61 25 61C22.2386 61 20 58.7614 20 56C20 53.2386 22.2386 51 25 51Z\"\r\n fill=\"${color ? color : \"#278960\"}\"\r\n stroke=\"white\"\r\n stroke-width=\"2\"\r\n />\r\n <g clip-path=\"url(#clip0_367_31358)\">\r\n ${innerSvg ?? \"\"}\r\n </g>\r\n <defs>\r\n <filter\r\n id=\"filter0_d_367_31358\"\r\n x=\"0\"\r\n y=\"0\"\r\n width=\"50\"\r\n height=\"55\"\r\n filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\"\r\n >\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix\r\n in=\"SourceAlpha\"\r\n type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\"\r\n />\r\n <feOffset dy=\"2\" />\r\n <feGaussianBlur stdDeviation=\"2\" />\r\n <feComposite in2=\"hardAlpha\" operator=\"out\" />\r\n <feColorMatrix\r\n type=\"matrix\"\r\n values=\"0 0 0 0 0.250234 0 0 0 0 0.660089 0 0 0 0 0.488619 0 0 0 0.24 0\"\r\n />\r\n <feBlend\r\n mode=\"normal\"\r\n in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_367_31358\"\r\n />\r\n <feBlend\r\n mode=\"normal\"\r\n in=\"SourceGraphic\"\r\n in2=\"effect1_dropShadow_367_31358\"\r\n result=\"shape\"\r\n />\r\n </filter>\r\n <clipPath id=\"clip0_367_31358\">\r\n <rect\r\n width=\"22\"\r\n height=\"22\"\r\n fill=\"white\"\r\n transform=\"translate(14 12)\"\r\n />\r\n </clipPath>\r\n </defs>\r\n </svg>`;\r\n\r\nexport { createDefaultMarkerSvg };\r\n","import { createDefaultMarkerSvg } from \"./defaultMarkerSvg\";\r\nimport type { MahalMapDefaultMarkerProps } from \"@app/types\";\r\n\r\nclass MahalMapDefaultMarker {\r\n private element: HTMLElement;\r\n\r\n constructor(private props: MahalMapDefaultMarkerProps) {\r\n this.element = this.createElement();\r\n }\r\n\r\n private createElement(): HTMLElement {\r\n const el = document.createElement(\"div\");\r\n el.style.cursor = \"pointer\";\r\n\r\n const svg = this.props.svg\r\n ? this.applyColorToCustomSvg(this.props.svg)\r\n : createDefaultMarkerSvg(\r\n this.props.color ?? \"#278960\",\r\n this.props.innerSvg,\r\n );\r\n\r\n el.innerHTML = svg;\r\n\r\n if (this.props.draggable) {\r\n el.draggable = true;\r\n }\r\n\r\n return el;\r\n }\r\n\r\n private applyColorToCustomSvg(svg: string): string {\r\n if (!this.props.color) return svg;\r\n return svg.replace(/fill=\"[^\"]*\"/g, `fill=\"${this.props.color}\"`);\r\n }\r\n\r\n getElement() {\r\n return this.element;\r\n }\r\n\r\n getCoordinates() {\r\n return this.props.coordinates;\r\n }\r\n\r\n isDraggable() {\r\n return !!this.props.draggable;\r\n }\r\n\r\n getAnchor() {\r\n return this.props.anchor || \"center\";\r\n }\r\n}\r\n\r\nexport { MahalMapDefaultMarker };\r\n","import type { Map } from \"maplibre-gl\";\r\nimport type { IMapMarker } from \"@app/types\";\r\n\r\nexport function addMarker(maplibregl: any, map: Map, marker: IMapMarker) {\r\n const mapMarker = new maplibregl.Marker({\r\n element: marker.getElement(),\r\n draggable: marker.isDraggable?.() ?? false,\r\n anchor: marker.getAnchor?.() ?? \"center\",\r\n })\r\n .setLngLat(marker.getCoordinates())\r\n .addTo(map);\r\n\r\n return mapMarker;\r\n}\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\nimport { CameraController } from \"@lib/controller\";\r\n\r\nimport type { IMahalMapOptions, IMapMarker } from \"@app/types\";\r\n\r\n// Adapter\r\nimport { addMarker } from \"../map/adapters\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private map!: MapType;\r\n private maplibre!: typeof import(\"maplibre-gl\");\r\n private camera!: CameraController;\r\n\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.maplibre = maplibre;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n attributionControl: options.attributionControl !== false,\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n addMarker(marker: IMapMarker) {\r\n return addMarker(this.maplibre, this.map, marker);\r\n }\r\n init(map: MapType) {\r\n this.map = map;\r\n this.camera = new CameraController(map);\r\n }\r\n getCamera() {\r\n return this.camera;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n\r\n destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function Search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { Search };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function Router(\r\n param: number[][],\r\n typeData: string,\r\n token: string,\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { Router };\r\n","// Lib\r\nimport { MahalMap } from \"@lib/map\";\r\nimport { Search } from \"@lib/search\";\r\nimport { Router } from \"@lib/routing\";\r\nimport { MahalMapDefaultMarker } from \"@lib/controller\";\r\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\n\r\nexport { MahalMap, Search, Router, keyUtils, MahalMapDefaultMarker };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n"],"mappings":"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","names":["BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","CameraController","map","zoom","smooth","bearing","pitch","is3D","options","createDefaultMarkerSvg","color","innerSvg","MahalMapDefaultMarker","props","el","svg","createDefaultMarkerSvg","addMarker","maplibregl","map","marker","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","marker","addMarker","map","CameraController","theme","center","zoom","MahalMap","axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","Search","routingApi","param","token","points","e","api","getApiKey","err","Router","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
1
+ {"version":3,"sources":["../src/app/config/constants.ts","../src/app/config/geojson-polyline.ts","../src/lib/controller/camera/index.ts","../src/lib/controller/markers/defaultMarkerSvg.ts","../src/lib/controller/markers/MahalMapDefaultMarker.ts","../src/lib/map/adapters/marker.adapter.ts","../src/lib/map/MahalMap.ts","../src/app/lib/axios/api/axios.ts","../src/app/lib/saveKey/index.ts","../src/app/lib/saveKey/utils.ts","../src/app/lib/debounce/index.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/index.ts"],"sourcesContent":["const BASE_URL = \"https://platform.mahal.tj/api/\";\r\nconst LATLNGREGEX =\r\n /^([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?)),\\s*([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?))$/;\r\nconst LNGLATREGEX =\r\n /^([-+]?(?:180(?:\\.0+)?|(?:(?:1[0-7]\\d)|(?:[1-9]?\\d))(?:\\.\\d+)?)),\\s*([-+]?(?:[1-8]?\\d(?:\\.\\d+)?|90(?:\\.0+)?))$/;\r\n\r\nconst REGEX =\r\n /^[-+]?([1-8]?\\d(\\.\\d+)?|90(\\.0+)?),\\s*[-+]?(180(\\.0+)?|((1[0-7]\\d)|([1-9]?\\d))(\\.\\d+)?)$/;\r\n\r\nconst DARK = \"https://mtile.gram.tj/custom-styles/dark-style.json\";\r\nconst LIGHT = \"https://mtile.gram.tj/custom-styles/mapstyle.json\";\r\nconst VECTOR =\r\n \"https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json\";\r\n\r\nexport { BASE_URL, LATLNGREGEX, LNGLATREGEX, REGEX, DARK, LIGHT, VECTOR };\r\n","function geojsonPolyline(encoded: string): number[][] {\r\n let points = [];\r\n let index = 0,\r\n len = encoded.length;\r\n let lat = 0,\r\n lng = 0;\r\n\r\n while (index < len) {\r\n let b,\r\n shift = 0,\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlat = result & 1 ? ~(result >> 1) : result >> 1;\r\n lat += dlat;\r\n\r\n shift = 0;\r\n result = 0;\r\n do {\r\n b = encoded.charCodeAt(index++) - 63;\r\n result |= (b & 0x1f) << shift;\r\n shift += 5;\r\n } while (b >= 0x20);\r\n let dlng = result & 1 ? ~(result >> 1) : result >> 1;\r\n lng += dlng;\r\n\r\n points.push([lng * 1e-5, lat * 1e-5]);\r\n }\r\n\r\n return points;\r\n}\r\n\r\nexport { geojsonPolyline };\r\n\r\n// Пример использования:\r\n\r\n// geojsonPolyline(\"yzocFzynhVq}@n}@o}@nzD\")\r\n\r\n// Вернёт массив вида [\r\n// [102.0, 0.5],\r\n// [103.0, 1.0],\r\n// [104.0, 0.5],\r\n// [105.0, 0.0]\r\n// ].\r\n","import type { Map, FlyToOptions } from \"maplibre-gl\";\r\n\r\nexport class CameraController {\r\n constructor(private map: Map) {}\r\n\r\n setZoom(zoom: number, smooth = true) {\r\n if (smooth) {\r\n this.map.easeTo({ zoom });\r\n } else {\r\n this.map.setZoom(zoom);\r\n }\r\n }\r\n\r\n setBearing(bearing: number, smooth = true) {\r\n smooth ? this.map.easeTo({ bearing }) : this.map.setBearing(bearing);\r\n }\r\n\r\n setPitch(pitch: number, smooth = true) {\r\n smooth ? this.map.easeTo({ pitch }) : this.map.setPitch(pitch);\r\n }\r\n\r\n toggle3D(is3D: boolean) {\r\n this.map.easeTo({\r\n pitch: is3D ? 60 : 0,\r\n bearing: is3D ? this.map.getBearing() : 0,\r\n duration: 800,\r\n });\r\n }\r\n\r\n resetNorth() {\r\n this.map.easeTo({\r\n bearing: 0,\r\n pitch: 0,\r\n duration: 600,\r\n });\r\n }\r\n\r\n flyTo(options: FlyToOptions) {\r\n this.map.flyTo({\r\n speed: 1.2,\r\n curve: 1.42,\r\n essential: true,\r\n ...options,\r\n });\r\n }\r\n\r\n getPitch() {\r\n return this.map.getPitch();\r\n }\r\n}\r\n","const createDefaultMarkerSvg = (color: string, innerSvg?: string) => `<svg\r\n width=\"50\"\r\n height=\"62\"\r\n viewBox=\"0 0 50 62\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n >\r\n <g filter=\"url(#filter0_d_367_31358)\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M25 2C36.598 2 46 11.402 46 23C46 33.1603 38.7844 41.6353 29.198 43.5803L25.6524 48.6575C25.5788 48.7633 25.4812 48.8497 25.3676 48.9093C25.254 48.9689 25.128 49 25 49C24.872 49 24.746 48.9689 24.6324 48.9093C24.5188 48.8497 24.4212 48.7633 24.3476 48.6575L20.802 43.5803C11.2156 41.6353 4 33.1603 4 23C4 11.402 13.402 2 25 2Z\"\r\n fill=\"${color ? color : \"#278960\"}\"\r\n />\r\n </g>\r\n <path\r\n d=\"M25 51C27.7614 51 30 53.2386 30 56C30 58.7614 27.7614 61 25 61C22.2386 61 20 58.7614 20 56C20 53.2386 22.2386 51 25 51Z\"\r\n fill=\"${color ? color : \"#278960\"}\"\r\n stroke=\"white\"\r\n stroke-width=\"2\"\r\n />\r\n <g clip-path=\"url(#clip0_367_31358)\">\r\n ${innerSvg ?? \"\"}\r\n </g>\r\n <defs>\r\n <filter\r\n id=\"filter0_d_367_31358\"\r\n x=\"0\"\r\n y=\"0\"\r\n width=\"50\"\r\n height=\"55\"\r\n filterUnits=\"userSpaceOnUse\"\r\n color-interpolation-filters=\"sRGB\"\r\n >\r\n <feFlood flood-opacity=\"0\" result=\"BackgroundImageFix\" />\r\n <feColorMatrix\r\n in=\"SourceAlpha\"\r\n type=\"matrix\"\r\n values=\"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\"\r\n result=\"hardAlpha\"\r\n />\r\n <feOffset dy=\"2\" />\r\n <feGaussianBlur stdDeviation=\"2\" />\r\n <feComposite in2=\"hardAlpha\" operator=\"out\" />\r\n <feColorMatrix\r\n type=\"matrix\"\r\n values=\"0 0 0 0 0.250234 0 0 0 0 0.660089 0 0 0 0 0.488619 0 0 0 0.24 0\"\r\n />\r\n <feBlend\r\n mode=\"normal\"\r\n in2=\"BackgroundImageFix\"\r\n result=\"effect1_dropShadow_367_31358\"\r\n />\r\n <feBlend\r\n mode=\"normal\"\r\n in=\"SourceGraphic\"\r\n in2=\"effect1_dropShadow_367_31358\"\r\n result=\"shape\"\r\n />\r\n </filter>\r\n <clipPath id=\"clip0_367_31358\">\r\n <rect\r\n width=\"22\"\r\n height=\"22\"\r\n fill=\"white\"\r\n transform=\"translate(14 12)\"\r\n />\r\n </clipPath>\r\n </defs>\r\n </svg>`;\r\n\r\nexport { createDefaultMarkerSvg };\r\n","import { createDefaultMarkerSvg } from \"./defaultMarkerSvg\";\r\nimport type { MahalMapDefaultMarkerProps } from \"@app/types\";\r\n\r\nclass MahalMapDefaultMarker {\r\n private element: HTMLElement;\r\n\r\n constructor(private props: MahalMapDefaultMarkerProps) {\r\n this.element = this.createElement();\r\n }\r\n\r\n private createElement(): HTMLElement {\r\n const el = document.createElement(\"div\");\r\n el.style.cursor = \"pointer\";\r\n\r\n const svg = this.props.svg\r\n ? this.applyColorToCustomSvg(this.props.svg)\r\n : createDefaultMarkerSvg(\r\n this.props.color ?? \"#278960\",\r\n this.props.innerSvg,\r\n );\r\n\r\n el.innerHTML = svg;\r\n\r\n if (this.props.draggable) {\r\n el.draggable = true;\r\n }\r\n\r\n return el;\r\n }\r\n\r\n private applyColorToCustomSvg(svg: string): string {\r\n if (!this.props.color) return svg;\r\n return svg.replace(/fill=\"[^\"]*\"/g, `fill=\"${this.props.color}\"`);\r\n }\r\n\r\n getElement() {\r\n return this.element;\r\n }\r\n\r\n getCoordinates() {\r\n return this.props.coordinates;\r\n }\r\n\r\n isDraggable() {\r\n return !!this.props.draggable;\r\n }\r\n\r\n getAnchor() {\r\n return this.props.anchor || \"center\";\r\n }\r\n}\r\n\r\nexport { MahalMapDefaultMarker };\r\n","import type { Map } from \"maplibre-gl\";\r\nimport type { IMapMarker } from \"@app/types\";\r\n\r\nexport function addMarker(maplibregl: any, map: Map, marker: IMapMarker) {\r\n const mapMarker = new maplibregl.Marker({\r\n element: marker.getElement(),\r\n draggable: marker.isDraggable?.() ?? false,\r\n anchor: marker.getAnchor?.() ?? \"center\",\r\n })\r\n .setLngLat(marker.getCoordinates())\r\n .addTo(map);\r\n\r\n return mapMarker;\r\n}\r\n","import type { Map as MapType } from \"maplibre-gl\";\r\nimport { DARK, LIGHT, VECTOR } from \"@app/config\";\r\nimport { CameraController } from \"@lib/controller\";\r\n\r\nimport type { IMahalMapOptions, IMapMarker } from \"@app/types\";\r\n\r\n// Adapter\r\nimport { addMarker } from \"../map/adapters\";\r\n\r\nconst defaultStyles = { dark: DARK, light: LIGHT };\r\n\r\nexport class MahalMap {\r\n private static instance: MahalMap | null = null;\r\n\r\n private isReady = false;\r\n private readyCallbacks: Array<(map: MapType) => void> = [];\r\n\r\n private map!: MapType;\r\n private maplibre!: typeof import(\"maplibre-gl\");\r\n private camera!: CameraController;\r\n\r\n private options!: IMahalMapOptions;\r\n\r\n private constructor() {}\r\n\r\n static create(\r\n options: IMahalMapOptions,\r\n maplibreObject?: { Map: typeof MapType } | typeof MapType,\r\n ) {\r\n if (MahalMap.instance) return MahalMap.instance;\r\n\r\n const globalMaplibre = (window as any).maplibregl;\r\n const maplibre = globalMaplibre || maplibreObject;\r\n\r\n if (!maplibre) {\r\n throw new Error(\r\n \"[MahalMap SDK] MapLibre GL не найден. Передай его вторым аргументом или подключи через script.\",\r\n );\r\n }\r\n\r\n const finalStyle = options.autoAddVectorSource\r\n ? VECTOR\r\n : options.style\r\n ? options.style\r\n : options.theme === \"dark\"\r\n ? defaultStyles.dark\r\n : defaultStyles.light;\r\n\r\n const instance = new MahalMap();\r\n\r\n instance.options = options;\r\n instance.maplibre = maplibre;\r\n instance.map = new maplibre.Map({\r\n container: options.container || \"map\",\r\n style: finalStyle as string,\r\n center: options.center || [69.624024, 40.279687],\r\n zoom: options.zoom || 5,\r\n attributionControl: options.attributionControl !== false,\r\n });\r\n\r\n instance.map.on(\"load\", () => {\r\n instance.isReady = true;\r\n\r\n instance.camera = new CameraController(instance.map);\r\n\r\n instance.readyCallbacks.forEach((cb) => cb(instance.map));\r\n instance.readyCallbacks = [];\r\n });\r\n\r\n MahalMap.instance = instance;\r\n return instance;\r\n }\r\n\r\n static onReady(callback: (map: MapType) => void) {\r\n if (!MahalMap.instance) {\r\n const check = setInterval(() => {\r\n if (MahalMap.instance) {\r\n clearInterval(check);\r\n MahalMap.onReady(callback);\r\n }\r\n }, 50);\r\n return;\r\n }\r\n\r\n const instance = MahalMap.instance;\r\n\r\n if (instance.isReady) {\r\n callback(instance.map);\r\n } else {\r\n instance.readyCallbacks.push(callback);\r\n }\r\n }\r\n\r\n static getInstance(): MahalMap {\r\n if (!MahalMap.instance) {\r\n throw new Error(\"[MahalMap SDK] Карта ещё не создана\");\r\n }\r\n return MahalMap.instance;\r\n }\r\n\r\n addMarker(marker: IMapMarker) {\r\n return addMarker(this.maplibre, this.map, marker);\r\n }\r\n init(map: MapType) {\r\n this.map = map;\r\n this.camera = new CameraController(map);\r\n }\r\n getCamera() {\r\n return this.camera;\r\n }\r\n\r\n getMap(): MapType {\r\n return this.map;\r\n }\r\n\r\n setStyle(theme: \"dark\" | \"light\") {\r\n this.map.setStyle(\r\n theme === \"dark\" ? defaultStyles.dark : defaultStyles.light,\r\n );\r\n }\r\n\r\n setCenter(center: [number, number]) {\r\n this.map.setCenter(center);\r\n }\r\n\r\n setZoom(zoom: number) {\r\n this.map.setZoom(zoom);\r\n }\r\n\r\n destroy() {\r\n this.map.remove();\r\n MahalMap.instance = null;\r\n }\r\n}\r\n","import axios from \"axios\";\r\nimport { BASE_URL } from \"@app/config/index\";\r\nimport { clearKey } from \"@app/lib\";\r\n\r\nexport const api = axios.create({\r\n baseURL: BASE_URL,\r\n});\r\n\r\napi.interceptors.request.use(\r\n (response) => response,\r\n (error) => {\r\n if (error.request?.status === 401) {\r\n clearKey();\r\n }\r\n return Promise.reject(error);\r\n }\r\n);\r\n","export * from \"./utils\";\r\n","import { api } from \"@app/lib\";\r\n\r\nlet apiKey: string = \"\";\r\n\r\nfunction saveKey(param: string) {\r\n if (param === \"\") return;\r\n apiKey = param;\r\n api.defaults.headers.common[\"Authorization\"] = `Bearer ${param}`;\r\n}\r\n\r\nfunction clearKey() {\r\n apiKey = \"\";\r\n api.defaults.headers.common[\"Authorization\"] = \"\";\r\n}\r\n\r\nconst getApiKey = () => apiKey;\r\n\r\nexport { saveKey, clearKey, getApiKey };\r\n","function debounce<F extends (...args: any[]) => Promise<any>>(\r\n fn: F,\r\n delay: number\r\n) {\r\n let timer: NodeJS.Timeout;\r\n\r\n return (...args: Parameters<F>): Promise<ReturnType<F>> => {\r\n if (timer) clearTimeout(timer);\r\n return new Promise((resolve) => {\r\n timer = setTimeout(async () => {\r\n const result = await fn(...args);\r\n resolve(result);\r\n }, delay);\r\n }) as Promise<ReturnType<F>>;\r\n };\r\n}\r\n\r\nexport { debounce };\r\n","import { api } from \"@app/lib\";\r\nimport type { ISearchParam, ISearch } from \"@app/types\";\r\n\r\nexport const searchPost = async (params: ISearchParam): Promise<ISearch[]> => {\r\n try {\r\n const response = await api.post(\"services/getAddress\", params);\r\n return response.data;\r\n } catch (error) {\r\n console.error(\"Ошибка при поиске адреса:\", error);\r\n throw error;\r\n }\r\n};\r\n","import { searchPost } from \"./api\";\r\nimport { IAdditionalParamType, ISearch, ISearchParam } from \"@app/types/index\";\r\nimport { debounce, getApiKey } from \"@app/lib\";\r\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n): Promise<ISearch[]> {\r\n let searchData: ISearchParam = {\r\n text: param,\r\n token: token ? token : getApiKey(),\r\n ...additionalParam,\r\n };\r\n\r\n // if (param !== \"\") {\r\n // if (REGEX.test(param)) {\r\n // let coordinates = await checkCoordinates(param);\r\n // if (coordinates) {\r\n // searchData = {\r\n // lat: coordinates.lat ?? \"\",\r\n // lng: coordinates.lng ?? \"\",\r\n // };\r\n // }\r\n // } else {\r\n // searchData.text = param;\r\n // }\r\n // } else {\r\n // searchData.text = \"\";\r\n // }\r\n\r\n try {\r\n const res: ISearch[] = await searchPost(searchData);\r\n return res;\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function Search(\r\n param: string,\r\n token: string,\r\n additionalParam?: IAdditionalParamType,\r\n) {\r\n return await debouncedFn(param, token, additionalParam);\r\n}\r\n\r\nexport { Search };\r\n","import { api, getApiKey } from \"@app/lib\";\r\n\r\nconst routingApi = async (param: number[][], token: string) => {\r\n try {\r\n const points: { lng: number; lat: number }[] = [];\r\n\r\n param.forEach((e) => {\r\n points.push({ lng: e[0], lat: e[1] });\r\n });\r\n const response = await api.post(\"services/getRoutes\", {\r\n points,\r\n token: token ? token : getApiKey(),\r\n });\r\n return response.data;\r\n } catch (err) {\r\n console.error(err);\r\n throw err;\r\n }\r\n};\r\n\r\nexport { routingApi };\r\n","import { routingApi } from \"@lib/routing/api\";\r\nimport { geojsonPolyline } from \"@app/config/index\";\r\nimport type { IRoute } from \"@app/types/index\";\r\n\r\nasync function Router(\r\n param: number[][],\r\n typeData: string,\r\n token: string,\r\n): Promise<IRoute[]> {\r\n try {\r\n const res = await routingApi(param, token);\r\n\r\n if (!res?.data) return res;\r\n\r\n const data: IRoute[] = res.data;\r\n\r\n return data.map((route) => {\r\n const updated = { ...route };\r\n\r\n if (updated.route?.routes?.length) {\r\n updated.route.routes = updated.route.routes.map((r) => ({\r\n ...r,\r\n geometry:\r\n typeData === \"geojson\" && typeof r.geometry === \"string\"\r\n ? geojsonPolyline(r.geometry)\r\n : r.geometry,\r\n }));\r\n }\r\n\r\n return updated as IRoute;\r\n });\r\n } catch (error) {\r\n throw error;\r\n }\r\n}\r\n\r\nexport { Router };\r\n","// Lib\r\nimport { MahalMap } from \"@lib/map\";\r\nimport { Search } from \"@lib/search\";\r\nimport { Router } from \"@lib/routing\";\r\nimport { MahalMapDefaultMarker } from \"@lib/controller\";\r\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\n\r\nexport { MahalMap, Search, Router, keyUtils, MahalMapDefaultMarker };\r\n\r\nfunction loadKeyFromScriptUrl() {\r\n const scripts = document.getElementsByTagName(\"script\");\r\n for (const script of scripts) {\r\n if (script.src.includes(\"mahal_map.sdk.js\")) {\r\n const url = new URL(script.src);\r\n const apikey = url.searchParams.get(\"apikey\");\r\n if (apikey) return apikey;\r\n }\r\n }\r\n return \"\";\r\n}\r\nkeyUtils.saveKey(loadKeyFromScriptUrl());\r\n"],"mappings":"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","names":["BASE_URL","DARK","LIGHT","VECTOR","geojsonPolyline","encoded","points","index","len","lat","lng","b","shift","result","dlat","dlng","CameraController","map","zoom","smooth","bearing","pitch","is3D","options","createDefaultMarkerSvg","color","innerSvg","MahalMapDefaultMarker","props","el","svg","createDefaultMarkerSvg","addMarker","maplibregl","map","marker","defaultStyles","DARK","LIGHT","_MahalMap","options","maplibreObject","maplibre","finalStyle","VECTOR","instance","CameraController","cb","callback","check","marker","addMarker","map","theme","center","zoom","MahalMap","axios","api","axios","BASE_URL","response","error","clearKey","saveKey_exports","__export","clearKey","getApiKey","saveKey","apiKey","saveKey","param","api","clearKey","getApiKey","debounce","fn","delay","timer","args","resolve","result","searchPost","params","api","error","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","Search","routingApi","param","token","points","e","api","getApiKey","err","Router","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mahal_map",
3
- "version": "1.3.5",
3
+ "version": "1.3.7",
4
4
  "description": "mahal_map",
5
5
  "keywords": [
6
6
  "map",