mahal_map 1.4.4 → 1.4.6
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 +15 -5
- package/dist/index.d.ts +15 -5
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -3
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -5,6 +5,8 @@ interface ISearchParam {
|
|
|
5
5
|
lat?: string;
|
|
6
6
|
lng?: string;
|
|
7
7
|
token: string;
|
|
8
|
+
type?: string;
|
|
9
|
+
limit?: number;
|
|
8
10
|
}
|
|
9
11
|
interface ISearchByLocationParam {
|
|
10
12
|
lat: string | number;
|
|
@@ -31,10 +33,17 @@ interface ISearch {
|
|
|
31
33
|
subject_type: string | null;
|
|
32
34
|
};
|
|
33
35
|
}
|
|
36
|
+
interface ISearchResponse {
|
|
37
|
+
success: boolean;
|
|
38
|
+
data: ISearch[];
|
|
39
|
+
message?: string;
|
|
40
|
+
}
|
|
34
41
|
|
|
35
42
|
interface IAdditionalParamType {
|
|
36
|
-
lat
|
|
37
|
-
lng
|
|
43
|
+
lat?: string;
|
|
44
|
+
lng?: string;
|
|
45
|
+
type?: string;
|
|
46
|
+
limit?: number;
|
|
38
47
|
}
|
|
39
48
|
|
|
40
49
|
interface IRoute {
|
|
@@ -86,6 +95,7 @@ interface MahalMapDefaultMarkerProps {
|
|
|
86
95
|
color?: string;
|
|
87
96
|
svg?: string;
|
|
88
97
|
innerSvg?: string;
|
|
98
|
+
innerUrl?: string;
|
|
89
99
|
}
|
|
90
100
|
interface IMapMarker {
|
|
91
101
|
getElement(): HTMLElement;
|
|
@@ -142,8 +152,8 @@ declare class MahalMap {
|
|
|
142
152
|
destroy(): void;
|
|
143
153
|
}
|
|
144
154
|
|
|
145
|
-
declare function Search(param: string, token: string, additionalParam?: IAdditionalParamType): Promise<
|
|
146
|
-
declare function SearchByLocation(params: ISearchByLocationParam): Promise<
|
|
155
|
+
declare function Search(param: string, token: string, additionalParam?: IAdditionalParamType): Promise<ISearchResponse>;
|
|
156
|
+
declare function SearchByLocation(params: ISearchByLocationParam): Promise<ISearchResponse>;
|
|
147
157
|
|
|
148
158
|
declare function Router(param: number[][], typeData: string, token: string): Promise<IRoute[]>;
|
|
149
159
|
|
|
@@ -175,4 +185,4 @@ declare const MMap: {
|
|
|
175
185
|
loadKeyFromScriptUrl: () => string;
|
|
176
186
|
};
|
|
177
187
|
|
|
178
|
-
export { type IAdditionalParamType, type IMahalMapOptions, type IMapMarker, type IRoute, type ISearch, type ISearchByLocationParam, type ISearchParam, MahalMap, MahalMapDefaultMarker, type MahalMapDefaultMarkerProps, Router, Search, SearchByLocation, MMap as default, keyUtils, index as utils };
|
|
188
|
+
export { type IAdditionalParamType, type IMahalMapOptions, type IMapMarker, type IRoute, type ISearch, type ISearchByLocationParam, type ISearchParam, type ISearchResponse, MahalMap, MahalMapDefaultMarker, type MahalMapDefaultMarkerProps, Router, Search, SearchByLocation, MMap as default, keyUtils, index as utils };
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,8 @@ interface ISearchParam {
|
|
|
5
5
|
lat?: string;
|
|
6
6
|
lng?: string;
|
|
7
7
|
token: string;
|
|
8
|
+
type?: string;
|
|
9
|
+
limit?: number;
|
|
8
10
|
}
|
|
9
11
|
interface ISearchByLocationParam {
|
|
10
12
|
lat: string | number;
|
|
@@ -31,10 +33,17 @@ interface ISearch {
|
|
|
31
33
|
subject_type: string | null;
|
|
32
34
|
};
|
|
33
35
|
}
|
|
36
|
+
interface ISearchResponse {
|
|
37
|
+
success: boolean;
|
|
38
|
+
data: ISearch[];
|
|
39
|
+
message?: string;
|
|
40
|
+
}
|
|
34
41
|
|
|
35
42
|
interface IAdditionalParamType {
|
|
36
|
-
lat
|
|
37
|
-
lng
|
|
43
|
+
lat?: string;
|
|
44
|
+
lng?: string;
|
|
45
|
+
type?: string;
|
|
46
|
+
limit?: number;
|
|
38
47
|
}
|
|
39
48
|
|
|
40
49
|
interface IRoute {
|
|
@@ -86,6 +95,7 @@ interface MahalMapDefaultMarkerProps {
|
|
|
86
95
|
color?: string;
|
|
87
96
|
svg?: string;
|
|
88
97
|
innerSvg?: string;
|
|
98
|
+
innerUrl?: string;
|
|
89
99
|
}
|
|
90
100
|
interface IMapMarker {
|
|
91
101
|
getElement(): HTMLElement;
|
|
@@ -142,8 +152,8 @@ declare class MahalMap {
|
|
|
142
152
|
destroy(): void;
|
|
143
153
|
}
|
|
144
154
|
|
|
145
|
-
declare function Search(param: string, token: string, additionalParam?: IAdditionalParamType): Promise<
|
|
146
|
-
declare function SearchByLocation(params: ISearchByLocationParam): Promise<
|
|
155
|
+
declare function Search(param: string, token: string, additionalParam?: IAdditionalParamType): Promise<ISearchResponse>;
|
|
156
|
+
declare function SearchByLocation(params: ISearchByLocationParam): Promise<ISearchResponse>;
|
|
147
157
|
|
|
148
158
|
declare function Router(param: number[][], typeData: string, token: string): Promise<IRoute[]>;
|
|
149
159
|
|
|
@@ -175,4 +185,4 @@ declare const MMap: {
|
|
|
175
185
|
loadKeyFromScriptUrl: () => string;
|
|
176
186
|
};
|
|
177
187
|
|
|
178
|
-
export { type IAdditionalParamType, type IMahalMapOptions, type IMapMarker, type IRoute, type ISearch, type ISearchByLocationParam, type ISearchParam, MahalMap, MahalMapDefaultMarker, type MahalMapDefaultMarkerProps, Router, Search, SearchByLocation, MMap as default, keyUtils, index as utils };
|
|
188
|
+
export { type IAdditionalParamType, type IMahalMapOptions, type IMapMarker, type IRoute, type ISearch, type ISearchByLocationParam, type ISearchParam, type ISearchResponse, MahalMap, MahalMapDefaultMarker, type MahalMapDefaultMarkerProps, Router, Search, SearchByLocation, MMap as default, keyUtils, index as utils };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';function a0_0x2293(_0x24cfa2,_0x22ed66){var _0xf7bc10=a0_0x30a7();return a0_0x2293=function(_0x23cd17,_0x3cb97f){_0x23cd17=_0x23cd17-0x18c;var _0x35fab7=_0xf7bc10[_0x23cd17];return _0x35fab7;},a0_0x2293(_0x24cfa2,_0x22ed66);}var a0_0x4d4b24=a0_0x2293;(function(_0x4252d1,_0x3b53e9){var _0x367689=a0_0x2293,_0x3e7faa=_0x4252d1();while(!![]){try{var _0x463a93=parseInt(_0x367689(0x194))/0x1*(parseInt(_0x367689(0x1ca))/0x2)+parseInt(_0x367689(0x1d6))/0x3*(parseInt(_0x367689(0x242))/0x4)+-parseInt(_0x367689(0x234))/0x5+-parseInt(_0x367689(0x247))/0x6*(parseInt(_0x367689(0x23f))/0x7)+-parseInt(_0x367689(0x21c))/0x8+parseInt(_0x367689(0x221))/0x9+parseInt(_0x367689(0x201))/0xa*(-parseInt(_0x367689(0x1e3))/0xb);if(_0x463a93===_0x3b53e9)break;else _0x3e7faa['push'](_0x3e7faa['shift']());}catch(_0x34d6c7){_0x3e7faa['push'](_0x3e7faa['shift']());}}}(a0_0x30a7,0x86963));var O=Object['create'],u=Object[a0_0x4d4b24(0x1f5)],$=Object[a0_0x4d4b24(0x1ae)],U=Object[a0_0x4d4b24(0x210)],Z=Object[a0_0x4d4b24(0x20e)],H=Object[a0_0x4d4b24(0x1f2)][a0_0x4d4b24(0x1f4)],y=(_0x31e07a,_0x67a58a)=>{var _0x338037=a0_0x4d4b24,_0x5d7782={'ncEah':function(_0xaf0b4,_0x4134e6,_0x60c703,_0x3c8f8c){return _0xaf0b4(_0x4134e6,_0x60c703,_0x3c8f8c);}};for(var _0x1b5480 in _0x67a58a)_0x5d7782[_0x338037(0x227)](u,_0x31e07a,_0x1b5480,{'get':_0x67a58a[_0x1b5480],'enumerable':!0x0});},C=(_0xaedb9b,_0x2159dd,_0x321eb2,_0xcd1a33)=>{var _0x3095d4=a0_0x4d4b24,_0x3d0a59={'wFoOb':function(_0x3ab11e,_0x254b98){return _0x3ab11e==_0x254b98;},'jNgLL':function(_0x1b8ad1,_0x33aa6e){return _0x1b8ad1(_0x33aa6e);},'YRVSN':function(_0x53e9c2,_0x255b5e){return _0x53e9c2!==_0x255b5e;},'BlkKG':function(_0x4398ae,_0x18f4a1,_0x14d6e3,_0x8aa5c3){return _0x4398ae(_0x18f4a1,_0x14d6e3,_0x8aa5c3);}};if(_0x2159dd&&_0x3d0a59[_0x3095d4(0x212)](typeof _0x2159dd,'object')||typeof _0x2159dd==_0x3095d4(0x1dc)){for(let _0x495677 of _0x3d0a59['jNgLL'](U,_0x2159dd))!H['call'](_0xaedb9b,_0x495677)&&_0x3d0a59[_0x3095d4(0x1c9)](_0x495677,_0x321eb2)&&_0x3d0a59[_0x3095d4(0x1a2)](u,_0xaedb9b,_0x495677,{'get':()=>_0x2159dd[_0x495677],'enumerable':!(_0xcd1a33=$(_0x2159dd,_0x495677))||_0xcd1a33[_0x3095d4(0x1a9)]});}return _0xaedb9b;},X=(_0x4f9eb3,_0x390460,_0x36fcac)=>(_0x36fcac=_0x4f9eb3!=null?O(Z(_0x4f9eb3)):{},C(_0x390460||!_0x4f9eb3||!_0x4f9eb3[a0_0x4d4b24(0x1bd)]?u(_0x36fcac,a0_0x4d4b24(0x18f),{'value':_0x4f9eb3,'enumerable':!0x0}):_0x36fcac,_0x4f9eb3)),z=_0x165f63=>C(u({},a0_0x4d4b24(0x1bd),{'value':!0x0}),_0x165f63),Q={};function a0_0x30a7(){var _0x49b0b2=['aYyjb','getCamera','getElement','560845WQGXRB','services/getAddress','instance','<image\x20href=\x22','yfFtv','create','applyColorToCustomSvg','draggable','ADWmk','setBearing','RnNAT','6656629KjdcMR','innerHTML','hAGJK','24328IfssBA','bind','JZQlI','RPWeS','data','6tAdhPq','MIUTa','iqmFy','error','default','route','status','token','camera','195691hhldyg','hBwqS','CtPFo','snKPL','services/getAddressByLocation','theme','GJmgb','adJDE','use','SIRaW','kpppi','toggle3D','zoom','rOBxD','BlkKG','voUDi','QilsT','ilqGW','dark','push','__proto__','enumerable','getAnchor','RvCQU','searchParams','pjhhC','getOwnPropertyDescriptor','gpyif','oOeFK','setPitch','getPitch','kXzpL','post','string','onReady','resetNorth','YWXtk','xTUVJ','getCoordinates','JmeeF','style','__esModule','KYMOg','QXJEa','color','sbzfz','cNNVA','createElement','getInstance','flyTo','#278960','fGhGw','LPtxR','YRVSN','8jSuSjz','iKrkN','jchgp','readyCallbacks','qRjmh','mGQNL','3|4|0|1|5|2','log','exception','mahal_map.sdk.js','PyUWa','cjoAx','516EYCIyb','Marker','getElementsByTagName','maplibre','zRPje','exports','function','console','length','Authorization','headers','2|4|1|0|5|3','ycqxu','33SpYFOY','light','replace','setZoom','ioFBG','apikey','forEach','map','maplibregl','FkgHz','https://mtile.gram.tj/custom-styles/dark-style.json','ezPnX','addTo','interceptors','isDraggable','prototype','easeTo','hasOwnProperty','defineProperty','routes','isReady','JIveg','fill=\x22','axios','src','constructor','WRnrJ','\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>','request','info','346050eDdRjH','Erqnm','options','apply','\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','includes','NoASX','defaults','center','anchor','coordinates','charCodeAt','TwPWj','getPrototypeOf','services/getRoutes','getOwnPropertyNames','KpnIE','wFoOb','https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json','Ошибка\x20при\x20поиске\x20адреса:','FsTFg','attributionControl','OVNAL','QRCLx','pointer','[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана','getBearing','6935048pbfFvP','innerSvg','GBdxT','geometry','svg','6805899LddMUT','warn','qjMxg','IJQJL','eiAPj','toString','ncEah','geojson','[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','props','autoAddVectorSource','setStyle','script','trace','setCenter','split'];a0_0x30a7=function(){return _0x49b0b2;};return a0_0x30a7();}y(Q,{'MahalMap':()=>g,'MahalMapDefaultMarker':()=>f,'Router':()=>F,'Search':()=>D,'SearchByLocation':()=>K,'keyUtils':()=>w,'utils':()=>v}),module['exports']=z(Q);var T='https://platform.mahal.tj/api/',P=a0_0x4d4b24(0x1ed),I='https://mtile.gram.tj/custom-styles/mapstyle.json',L=a0_0x4d4b24(0x213);function k(_0x213cf3){var _0x312564=a0_0x4d4b24,_0x24e101={'aYyjb':function(_0x482740,_0x1cf734){return _0x482740<_0x1cf734;},'OVNAL':function(_0x33819c,_0x2bcfed){return _0x33819c-_0x2bcfed;},'NoASX':function(_0x4e7bdf,_0x2bae8b){return _0x4e7bdf<<_0x2bae8b;},'iKrkN':function(_0x2bb5b1,_0x1caaab){return _0x2bb5b1&_0x1caaab;},'xTUVJ':function(_0x1137f9,_0x24bf76){return _0x1137f9>=_0x24bf76;},'snKPL':function(_0x17d060,_0x25f45d){return _0x17d060>>_0x25f45d;},'cNNVA':function(_0x27fe9c,_0xeebfdf){return _0x27fe9c>>_0xeebfdf;},'QHnry':function(_0x29fb53,_0x53b8c9){return _0x29fb53-_0x53b8c9;},'qFarI':function(_0x2a23a9,_0x184751){return _0x2a23a9&_0x184751;},'BXZIs':function(_0x3da82b,_0x3e2ce2){return _0x3da82b>>_0x3e2ce2;},'oOeFK':function(_0x392f13,_0x36c07f){return _0x392f13*_0x36c07f;}};let _0x294eed=[],_0x5c1f50=0x0,_0x41b392=_0x213cf3['length'],_0x27113d=0x0,_0x3aa94d=0x0;for(;_0x24e101[_0x312564(0x231)](_0x5c1f50,_0x41b392);){let _0x34d054,_0x46e2f7=0x0,_0x411290=0x0;do _0x34d054=_0x24e101[_0x312564(0x217)](_0x213cf3[_0x312564(0x20c)](_0x5c1f50++),0x3f),_0x411290|=_0x24e101[_0x312564(0x207)](_0x24e101[_0x312564(0x1cb)](_0x34d054,0x1f),_0x46e2f7),_0x46e2f7+=0x5;while(_0x24e101['xTUVJ'](_0x34d054,0x20));let _0x4e49b5=_0x24e101[_0x312564(0x1cb)](_0x411290,0x1)?~_0x24e101[_0x312564(0x197)](_0x411290,0x1):_0x24e101['cNNVA'](_0x411290,0x1);_0x27113d+=_0x4e49b5,_0x46e2f7=0x0,_0x411290=0x0;do _0x34d054=_0x24e101['QHnry'](_0x213cf3[_0x312564(0x20c)](_0x5c1f50++),0x3f),_0x411290|=_0x24e101[_0x312564(0x207)](_0x24e101['qFarI'](_0x34d054,0x1f),_0x46e2f7),_0x46e2f7+=0x5;while(_0x24e101[_0x312564(0x1b9)](_0x34d054,0x20));let _0x5e52e0=_0x24e101[_0x312564(0x1cb)](_0x411290,0x1)?~_0x24e101[_0x312564(0x1c2)](_0x411290,0x1):_0x24e101['BXZIs'](_0x411290,0x1);_0x3aa94d+=_0x5e52e0,_0x294eed[_0x312564(0x1a7)]([_0x24e101[_0x312564(0x1b0)](_0x3aa94d,0.00001),_0x24e101[_0x312564(0x1b0)](_0x27113d,0.00001)]);}return _0x294eed;}var h=class{constructor(_0x1d3946){var _0x405eae=a0_0x4d4b24;this[_0x405eae(0x1ea)]=_0x1d3946;}[a0_0x4d4b24(0x1e6)](_0x46bba3,_0x508543=!0x0){var _0x29547e=a0_0x4d4b24;_0x508543?this[_0x29547e(0x1ea)][_0x29547e(0x1f3)]({'zoom':_0x46bba3}):this[_0x29547e(0x1ea)][_0x29547e(0x1e6)](_0x46bba3);}[a0_0x4d4b24(0x23d)](_0x5d4a41,_0x23293f=!0x0){var _0x317944=a0_0x4d4b24;_0x23293f?this[_0x317944(0x1ea)][_0x317944(0x1f3)]({'bearing':_0x5d4a41}):this[_0x317944(0x1ea)][_0x317944(0x23d)](_0x5d4a41);}['setPitch'](_0x53a429,_0x93b5a5=!0x0){var _0x26672d=a0_0x4d4b24;_0x93b5a5?this[_0x26672d(0x1ea)][_0x26672d(0x1f3)]({'pitch':_0x53a429}):this[_0x26672d(0x1ea)][_0x26672d(0x1b1)](_0x53a429);}[a0_0x4d4b24(0x19f)](_0x1fa8ea){var _0x1b183e=a0_0x4d4b24;this[_0x1b183e(0x1ea)][_0x1b183e(0x1f3)]({'pitch':_0x1fa8ea?0x3c:0x0,'bearing':_0x1fa8ea?this[_0x1b183e(0x1ea)][_0x1b183e(0x21b)]():0x0,'duration':0x320});}[a0_0x4d4b24(0x1b7)](){var _0x299e4d=a0_0x4d4b24;this[_0x299e4d(0x1ea)][_0x299e4d(0x1f3)]({'bearing':0x0,'pitch':0x0,'duration':0x258});}['flyTo'](_0x99e84a){var _0x323be0=a0_0x4d4b24;this[_0x323be0(0x1ea)][_0x323be0(0x1c5)]({'speed':1.2,'curve':1.42,'essential':!0x0,..._0x99e84a});}['getPitch'](){var _0x2f1e2c=a0_0x4d4b24;return this[_0x2f1e2c(0x1ea)][_0x2f1e2c(0x1b2)]();}},A=(_0x432c2d,_0x480226)=>'<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'+(_0x432c2d||a0_0x4d4b24(0x1c6))+a0_0x4d4b24(0x205)+(_0x432c2d||a0_0x4d4b24(0x1c6))+'\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\x20'+(_0x480226?a0_0x4d4b24(0x237)+_0x480226+'\x22\x20x=\x2214\x22\x20y=\x2212\x22\x20width=\x2222\x22\x20height=\x2222\x22\x20style=\x22filter:\x20brightness(0)\x20invert(1);\x22\x20/>':'')+a0_0x4d4b24(0x1fe),f=class{constructor(_0x4d1ed2){var _0x220959=a0_0x4d4b24;this[_0x220959(0x22a)]=_0x4d1ed2,this['element']=this[_0x220959(0x1c3)]();}['createElement'](){var _0x470925=a0_0x4d4b24,_0x2f0c16={'yfFtv':'div','WRnrJ':_0x470925(0x219),'hBwqS':function(_0x4e57e3,_0x5a8e51,_0x37b77a){return _0x4e57e3(_0x5a8e51,_0x37b77a);}};let _0x3edacd=document['createElement'](_0x2f0c16[_0x470925(0x238)]);_0x3edacd[_0x470925(0x1bc)]['cursor']=_0x2f0c16[_0x470925(0x1fd)];let _0xb647=this['props']['svg']?this[_0x470925(0x23a)](this[_0x470925(0x22a)][_0x470925(0x220)]):_0x2f0c16[_0x470925(0x195)](A,this[_0x470925(0x22a)][_0x470925(0x1c0)]??'#278960',this[_0x470925(0x22a)][_0x470925(0x21d)]);return _0x3edacd[_0x470925(0x240)]=_0xb647,this[_0x470925(0x22a)][_0x470925(0x23b)]&&(_0x3edacd['draggable']=!0x0),_0x3edacd;}[a0_0x4d4b24(0x23a)](_0x2a1981){var _0x5bfe90=a0_0x4d4b24;return this['props'][_0x5bfe90(0x1c0)]?_0x2a1981[_0x5bfe90(0x1e5)](/fill="[^"]*"/g,_0x5bfe90(0x1f9)+this[_0x5bfe90(0x22a)][_0x5bfe90(0x1c0)]+'\x22'):_0x2a1981;}[a0_0x4d4b24(0x233)](){return this['element'];}[a0_0x4d4b24(0x1ba)](){var _0x24367b=a0_0x4d4b24;return this[_0x24367b(0x22a)][_0x24367b(0x20b)];}[a0_0x4d4b24(0x1f1)](){var _0x2957d5=a0_0x4d4b24;return!!this[_0x2957d5(0x22a)]['draggable'];}['getAnchor'](){var _0x4106bf=a0_0x4d4b24,_0x67bc0={'gpyif':_0x4106bf(0x209)};return this[_0x4106bf(0x22a)][_0x4106bf(0x20a)]||_0x67bc0[_0x4106bf(0x1af)];}};function E(_0x3d3db4,_0x1d1e88,_0x322eb6){var _0x64948c=a0_0x4d4b24,_0x2cb59a={'qRjmh':'center'};return new _0x3d3db4[(_0x64948c(0x1d7))]({'element':_0x322eb6[_0x64948c(0x233)](),'draggable':_0x322eb6[_0x64948c(0x1f1)]?.()??!0x1,'anchor':_0x322eb6[_0x64948c(0x1aa)]?.()??_0x2cb59a[_0x64948c(0x1ce)]})['setLngLat'](_0x322eb6['getCoordinates']())[_0x64948c(0x1ef)](_0x1d1e88);}var d={'dark':P,'light':I},n=class n{constructor(){var _0x51a4f8=a0_0x4d4b24;this[_0x51a4f8(0x1f7)]=!0x1,this[_0x51a4f8(0x1cd)]=[];}static[a0_0x4d4b24(0x239)](_0x19c007,_0x579a89){var _0x4daa02=a0_0x4d4b24,_0x47c2eb={'CtPFo':function(_0x355d98,_0x3b9660){return _0x355d98===_0x3b9660;},'pjhhC':_0x4daa02(0x1ea)};if(n['instance'])return n[_0x4daa02(0x236)];let _0x25e267=window[_0x4daa02(0x1eb)]||_0x579a89;if(!_0x25e267)throw new Error(_0x4daa02(0x229));let _0x24a591=_0x19c007[_0x4daa02(0x22b)]?L:_0x19c007[_0x4daa02(0x1bc)]?_0x19c007[_0x4daa02(0x1bc)]:_0x47c2eb[_0x4daa02(0x196)](_0x19c007[_0x4daa02(0x199)],'dark')?d[_0x4daa02(0x1a6)]:d[_0x4daa02(0x1e4)],_0x19e190=new n();return _0x19e190[_0x4daa02(0x203)]=_0x19c007,_0x19e190[_0x4daa02(0x1d9)]=_0x25e267,_0x19e190[_0x4daa02(0x1ea)]=new _0x25e267['Map']({'container':_0x19c007['container']||_0x47c2eb[_0x4daa02(0x1ad)],'style':_0x24a591,'center':_0x19c007[_0x4daa02(0x209)]||[69.624024,40.279687],'zoom':_0x19c007[_0x4daa02(0x1a0)]||0x5,'attributionControl':_0x19c007[_0x4daa02(0x216)]!==!0x1}),_0x19e190['map']['on']('load',()=>{var _0x23a8fb=_0x4daa02;_0x19e190[_0x23a8fb(0x1f7)]=!0x0,_0x19e190[_0x23a8fb(0x193)]=new h(_0x19e190[_0x23a8fb(0x1ea)]),_0x19e190[_0x23a8fb(0x1cd)][_0x23a8fb(0x1e9)](_0x1ce8c8=>_0x1ce8c8(_0x19e190['map'])),_0x19e190[_0x23a8fb(0x1cd)]=[];}),n['instance']=_0x19e190,_0x19e190;}static[a0_0x4d4b24(0x1b6)](_0x3df529){var _0x13e1e4=a0_0x4d4b24,_0x25f52f={'hAGJK':function(_0x3f1da7,_0x2cc67a){return _0x3f1da7(_0x2cc67a);},'PyUWa':function(_0x342e9b,_0x7580d0,_0x57693a){return _0x342e9b(_0x7580d0,_0x57693a);}};if(!n['instance']){let _0x469de5=_0x25f52f[_0x13e1e4(0x1d4)](setInterval,()=>{var _0x2a2f46=_0x13e1e4;n['instance']&&(_0x25f52f[_0x2a2f46(0x241)](clearInterval,_0x469de5),n[_0x2a2f46(0x1b6)](_0x3df529));},0x32);return;}let _0x5407b7=n['instance'];_0x5407b7[_0x13e1e4(0x1f7)]?_0x25f52f['hAGJK'](_0x3df529,_0x5407b7[_0x13e1e4(0x1ea)]):_0x5407b7[_0x13e1e4(0x1cd)][_0x13e1e4(0x1a7)](_0x3df529);}static[a0_0x4d4b24(0x1c4)](){var _0x48de7c=a0_0x4d4b24,_0x4ca468={'FkgHz':_0x48de7c(0x21a)};if(!n['instance'])throw new Error(_0x4ca468[_0x48de7c(0x1ec)]);return n[_0x48de7c(0x236)];}['addMarker'](_0xbe9300){var _0xe1cf7b=a0_0x4d4b24,_0x1b8ed1={'Qtcvr':function(_0x4453d2,_0x4a52a3,_0x1b72cc,_0x195a66){return _0x4453d2(_0x4a52a3,_0x1b72cc,_0x195a66);}};return _0x1b8ed1['Qtcvr'](E,this['maplibre'],this[_0xe1cf7b(0x1ea)],_0xbe9300);}['init'](_0x1de54e){var _0x29d0b1=a0_0x4d4b24;this[_0x29d0b1(0x1ea)]=_0x1de54e,this['camera']=new h(_0x1de54e);}[a0_0x4d4b24(0x232)](){var _0x323021=a0_0x4d4b24;return this[_0x323021(0x193)];}['getMap'](){return this['map'];}['setStyle'](_0x3e9403){var _0x49ac85=a0_0x4d4b24,_0x1082bb={'qjMxg':_0x49ac85(0x1a6)};this[_0x49ac85(0x1ea)][_0x49ac85(0x22c)](_0x3e9403===_0x1082bb[_0x49ac85(0x223)]?d[_0x49ac85(0x1a6)]:d[_0x49ac85(0x1e4)]);}[a0_0x4d4b24(0x22f)](_0x42f7e8){var _0x4e7bf4=a0_0x4d4b24;this[_0x4e7bf4(0x1ea)][_0x4e7bf4(0x22f)](_0x42f7e8);}[a0_0x4d4b24(0x1e6)](_0x21e29b){var _0x4b9e03=a0_0x4d4b24;this['map'][_0x4b9e03(0x1e6)](_0x21e29b);}['destroy'](){var _0x21490c=a0_0x4d4b24;this['map']['remove'](),n[_0x21490c(0x236)]=null;}};n[a0_0x4d4b24(0x236)]=null;var g=n,R=X(require(a0_0x4d4b24(0x1fa))),l=R[a0_0x4d4b24(0x18f)][a0_0x4d4b24(0x239)]({'baseURL':T});l[a0_0x4d4b24(0x1f0)][a0_0x4d4b24(0x1ff)][a0_0x4d4b24(0x19c)](_0x514e2c=>_0x514e2c,_0x2d8987=>(_0x2d8987['request']?.[a0_0x4d4b24(0x191)]===0x191&&M(),Promise['reject'](_0x2d8987)));var w={};y(w,{'clearKey':()=>M,'getApiKey':()=>m,'saveKey':()=>b});var x='';function b(_0x178bf5){var _0x28f412=a0_0x4d4b24,_0x479c4d={'Erqnm':function(_0x69a00f,_0x17b4ae){return _0x69a00f!==_0x17b4ae;}};_0x479c4d[_0x28f412(0x202)](_0x178bf5,'')&&(x=_0x178bf5,l[_0x28f412(0x208)][_0x28f412(0x1e0)]['common'][_0x28f412(0x1df)]='Bearer\x20'+_0x178bf5);}function M(){var _0x1ac186=a0_0x4d4b24,_0x140848={'hZQsI':function(_0x11e8f9,_0x402c97){return _0x11e8f9===_0x402c97;},'ioFBG':_0x1ac186(0x21e),'QCgmL':function(_0x24210c,_0x3db07a){return _0x24210c(_0x3db07a);},'oboPz':function(_0x5d4164,_0x553292){return _0x5d4164+_0x553292;},'FsTFg':function(_0x450a83,_0x31bdce){return _0x450a83+_0x31bdce;},'kXzpL':'return\x20(function()\x20','eiAPj':'{}.constructor(\x22return\x20this\x22)(\x20)','MIUTa':_0x1ac186(0x1d1),'saweI':_0x1ac186(0x222),'wtFMy':_0x1ac186(0x18e),'RnNAT':_0x1ac186(0x1d2),'QilsT':'table','ilqGW':_0x1ac186(0x22e),'LPtxR':function(_0x4b298f,_0x29d599){return _0x4b298f<_0x29d599;},'fGhGw':function(_0x423cdd,_0x52bde3){return _0x423cdd!==_0x52bde3;},'YWXtk':_0x1ac186(0x1c1),'VBAev':'zkorY','JZQlI':_0x1ac186(0x1d0)},_0x23d79f=(function(){var _0x18b786=!![];return function(_0x41dd10,_0x359c7f){var _0x3b432b=_0x18b786?function(){var _0x27d3ab=a0_0x2293;if(_0x359c7f){var _0x501803=_0x359c7f[_0x27d3ab(0x204)](_0x41dd10,arguments);return _0x359c7f=null,_0x501803;}}:function(){};return _0x18b786=![],_0x3b432b;};}()),_0x4dace2=_0x23d79f(this,function(){var _0x29d02c=_0x1ac186,_0x2f2d27=function(){var _0x5439ad=a0_0x2293,_0x5c63e3;try{if(_0x140848['hZQsI']('HBmrs',_0x140848[_0x5439ad(0x1e7)])){var _0x30b4b3=_0x51d98f['apply'](_0x185456,arguments);return _0x2aec0f=null,_0x30b4b3;}else _0x5c63e3=_0x140848['QCgmL'](Function,_0x140848['oboPz'](_0x140848[_0x5439ad(0x215)](_0x140848[_0x5439ad(0x1b3)],_0x140848[_0x5439ad(0x225)]),');'))();}catch(_0x542080){_0x5c63e3=window;}return _0x5c63e3;},_0x320aa4=_0x2f2d27(),_0x8c092c=_0x320aa4[_0x29d02c(0x1dd)]=_0x320aa4[_0x29d02c(0x1dd)]||{},_0x119a36=[_0x140848[_0x29d02c(0x18c)],_0x140848['saweI'],_0x29d02c(0x200),_0x140848['wtFMy'],_0x140848[_0x29d02c(0x23e)],_0x140848[_0x29d02c(0x1a4)],_0x140848[_0x29d02c(0x1a5)]];for(var _0x262bbe=0x0;_0x140848[_0x29d02c(0x1c8)](_0x262bbe,_0x119a36[_0x29d02c(0x1de)]);_0x262bbe++){if(_0x140848[_0x29d02c(0x1c7)](_0x140848[_0x29d02c(0x1b8)],_0x140848['VBAev'])){var _0x2c2485=_0x140848[_0x29d02c(0x244)][_0x29d02c(0x230)]('|'),_0x190003=0x0;while(!![]){switch(_0x2c2485[_0x190003++]){case'0':var _0x2b2ed1=_0x8c092c[_0x87a85f]||_0x173d13;continue;case'1':_0x173d13[_0x29d02c(0x1a8)]=_0x23d79f[_0x29d02c(0x243)](_0x23d79f);continue;case'2':_0x8c092c[_0x87a85f]=_0x173d13;continue;case'3':var _0x173d13=_0x23d79f[_0x29d02c(0x1fc)][_0x29d02c(0x1f2)][_0x29d02c(0x243)](_0x23d79f);continue;case'4':var _0x87a85f=_0x119a36[_0x262bbe];continue;case'5':_0x173d13[_0x29d02c(0x226)]=_0x2b2ed1[_0x29d02c(0x226)][_0x29d02c(0x243)](_0x2b2ed1);continue;}break;}}else _0x54b79c=_0x277b4f;}});_0x4dace2(),(x='',l['defaults'][_0x1ac186(0x1e0)]['common']['Authorization']='');}var m=()=>x;function S(_0x11bae9,_0x50d39f){var _0x7036bc=a0_0x4d4b24,_0x594ee1={'zRPje':_0x7036bc(0x1e1),'iqmFy':_0x7036bc(0x1a1),'cjoAx':_0x7036bc(0x19d),'voUDi':function(_0x1c09b7,_0x287eff,_0x5b0e7c){return _0x1c09b7(_0x287eff,_0x5b0e7c);}};let _0x4c81bb;return(..._0x3e26b0)=>(_0x4c81bb&&clearTimeout(_0x4c81bb),new Promise(_0x94c0e2=>{var _0x207aa3=_0x7036bc,_0x4f31d7={'ycqxu':_0x594ee1[_0x207aa3(0x18d)],'MMjec':function(_0x338d00,..._0x374b7b){return _0x338d00(..._0x374b7b);}};if(_0x207aa3(0x19d)!==_0x594ee1[_0x207aa3(0x1d5)]){var _0x45cb31=_0x594ee1[_0x207aa3(0x1da)][_0x207aa3(0x230)]('|'),_0x3d35e4=0x0;while(!![]){switch(_0x45cb31[_0x3d35e4++]){case'0':_0x41ef0f[_0x207aa3(0x1a8)]=_0x8bdea4[_0x207aa3(0x243)](_0x1123bd);continue;case'1':var _0x5cadee=_0xc0eae7[_0x34802b]||_0x41ef0f;continue;case'2':var _0x41ef0f=_0x4e0e94[_0x207aa3(0x1fc)][_0x207aa3(0x1f2)][_0x207aa3(0x243)](_0x439425);continue;case'3':_0x472260[_0x34802b]=_0x41ef0f;continue;case'4':var _0x34802b=_0x59e46[_0x149829];continue;case'5':_0x41ef0f[_0x207aa3(0x226)]=_0x5cadee[_0x207aa3(0x226)][_0x207aa3(0x243)](_0x5cadee);continue;}break;}}else _0x4c81bb=_0x594ee1[_0x207aa3(0x1a3)](setTimeout,async()=>{var _0x211f7f=_0x207aa3;if(_0x4f31d7[_0x211f7f(0x1e2)]!==_0x4f31d7[_0x211f7f(0x1e2)]){if(!_0x102fd5[_0x211f7f(0x236)])throw new _0x34519e(_0x211f7f(0x21a));return _0x3a977e[_0x211f7f(0x236)];}else{var _0x3fa1b7=await _0x4f31d7['MMjec'](_0x11bae9,..._0x3e26b0);_0x4f31d7['MMjec'](_0x94c0e2,_0x3fa1b7);}},_0x50d39f);}));}var B=async _0x4882c7=>{var _0x3222e2=a0_0x4d4b24,_0x44fb23={'TwPWj':'YSArN','ELSOB':_0x3222e2(0x19a),'mGQNL':_0x3222e2(0x235),'adJDE':function(_0x10cddc,_0x5c72da){return _0x10cddc===_0x5c72da;},'YJfRB':_0x3222e2(0x19e)};try{if(_0x44fb23[_0x3222e2(0x20d)]!==_0x44fb23['ELSOB'])return(await l[_0x3222e2(0x1b4)](_0x44fb23[_0x3222e2(0x1cf)],_0x4882c7))[_0x3222e2(0x246)];else this[_0x3222e2(0x1ea)]['easeTo']({'pitch':_0x5da332?0x3c:0x0,'bearing':_0x333b3a?this['map'][_0x3222e2(0x21b)]():0x0,'duration':0x320});}catch(_0x3e8a72){if(_0x44fb23[_0x3222e2(0x19b)](_0x3222e2(0x224),_0x44fb23['YJfRB']))return!!this[_0x3222e2(0x22a)][_0x3222e2(0x23b)];else throw console[_0x3222e2(0x18e)](_0x3222e2(0x214),_0x3e8a72),_0x3e8a72;}},G=async _0x474b08=>{var _0x459603=a0_0x4d4b24,_0x185efe={'CfBKh':_0x459603(0x198),'JIveg':'Error\x20while\x20searching\x20address\x20by\x20location:'};try{return(await l[_0x459603(0x1b4)](_0x185efe['CfBKh'],null,{'params':_0x474b08}))[_0x459603(0x246)];}catch(_0x44eaa5){throw console['error'](_0x185efe[_0x459603(0x1f8)],_0x44eaa5),_0x44eaa5;}};async function V(_0x20331a,_0x1853e8,_0x4e1163){var _0x45d2c7=a0_0x4d4b24,_0x2450fc={'euPqg':function(_0x445017){return _0x445017();},'qavqN':function(_0x5ef1bc,_0x5317c7){return _0x5ef1bc(_0x5317c7);},'THwrn':function(_0x13fda3,_0x2ec449){return _0x13fda3!==_0x2ec449;},'KYMOg':'MZEnr','jchgp':_0x45d2c7(0x1bf)};let _0x22322b={'text':_0x20331a,'token':_0x1853e8||_0x2450fc['euPqg'](m),..._0x4e1163};try{return await _0x2450fc['qavqN'](B,_0x22322b);}catch(_0x41e6d7){if(_0x2450fc['THwrn'](_0x2450fc[_0x45d2c7(0x1be)],_0x2450fc[_0x45d2c7(0x1cc)]))throw _0x41e6d7;else throw _0x15a9b7[_0x45d2c7(0x18e)]('Error\x20while\x20searching\x20address\x20by\x20location:',_0x2b8e9c),_0x18a186;}}var q=S(V,0x1f4);async function D(_0x41b8a5,_0xe361fb,_0x357155){var _0x33b401=a0_0x4d4b24,_0x46f876={'QRCLx':function(_0x3b512d,_0x2be5cf,_0x2309ce,_0x29642d){return _0x3b512d(_0x2be5cf,_0x2309ce,_0x29642d);}};return await _0x46f876[_0x33b401(0x218)](q,_0x41b8a5,_0xe361fb,_0x357155);}async function K(_0x4705b2){var _0xad93e3=a0_0x4d4b24,_0x4ef37e={'ADWmk':function(_0x1c415e,_0x29866a){return _0x1c415e(_0x29866a);}};let _0x1257d6={..._0x4705b2,'token':_0x4705b2[_0xad93e3(0x192)]?_0x4705b2['token']:m()};try{return await _0x4ef37e[_0xad93e3(0x23c)](G,_0x1257d6);}catch(_0x3770c0){throw _0x3770c0;}}var j=async(_0x87e4f9,_0x468aaa)=>{var _0x14c5a9=a0_0x4d4b24,_0x3080be={'MrFaH':_0x14c5a9(0x20f)};try{let _0x10e6c7=[];return _0x87e4f9[_0x14c5a9(0x1e9)](_0x57859d=>{_0x10e6c7['push']({'lng':_0x57859d[0x0],'lat':_0x57859d[0x1]});}),(await l[_0x14c5a9(0x1b4)](_0x3080be['MrFaH'],{'points':_0x10e6c7,'token':_0x468aaa||m()}))[_0x14c5a9(0x246)];}catch(_0x3aebd9){throw console['error'](_0x3aebd9),_0x3aebd9;}};async function F(_0x5eea61,_0x254250,_0x4d5245){var _0x305fc3=a0_0x4d4b24,_0x3a8963={'BQJOc':function(_0x5f277d,_0x5d8383,_0x279719){return _0x5f277d(_0x5d8383,_0x279719);},'JmeeF':function(_0x34ab1f,_0x1e0a4c){return _0x34ab1f!==_0x1e0a4c;},'RvCQU':_0x305fc3(0x245)};try{let _0x278a8a=await _0x3a8963['BQJOc'](j,_0x5eea61,_0x4d5245);return _0x278a8a?.[_0x305fc3(0x246)]?_0x278a8a['data'][_0x305fc3(0x1ea)](_0x5d5aeb=>{var _0x1f0bab=_0x305fc3;let _0x1c648d={..._0x5d5aeb};return _0x1c648d[_0x1f0bab(0x190)]?.[_0x1f0bab(0x1f6)]?.[_0x1f0bab(0x1de)]&&(_0x1c648d[_0x1f0bab(0x190)][_0x1f0bab(0x1f6)]=_0x1c648d['route'][_0x1f0bab(0x1f6)]['map'](_0x9fbf43=>({..._0x9fbf43,'geometry':_0x254250===_0x1f0bab(0x228)&&typeof _0x9fbf43['geometry']==_0x1f0bab(0x1b5)?k(_0x9fbf43[_0x1f0bab(0x21f)]):_0x9fbf43[_0x1f0bab(0x21f)]}))),_0x1c648d;}):_0x278a8a;}catch(_0x14c3e8){if(_0x3a8963[_0x305fc3(0x1bb)](_0x3a8963[_0x305fc3(0x1ab)],_0x3a8963[_0x305fc3(0x1ab)]))this['map']['setCenter'](_0x5b4fdc);else throw _0x14c3e8;}}var v={};y(v,{'debounce':()=>S});function J(){var _0x357d44=a0_0x4d4b24,_0xa87254={'vjCWl':_0x357d44(0x22d),'ezPnX':_0x357d44(0x1d3),'KpnIE':_0x357d44(0x1e8)};let _0x6a08ee=document[_0x357d44(0x1d8)](_0xa87254['vjCWl']);for(let _0x5255f1 of _0x6a08ee)if(_0x5255f1[_0x357d44(0x1fb)][_0x357d44(0x206)](_0xa87254[_0x357d44(0x1ee)])){let _0x9a9c=new URL(_0x5255f1[_0x357d44(0x1fb)])[_0x357d44(0x1ac)]['get'](_0xa87254[_0x357d44(0x211)]);if(_0x9a9c)return _0x9a9c;}return'';}b(J()),0x0&&(module[a0_0x4d4b24(0x1db)]={'MahalMap':MahalMap,'MahalMapDefaultMarker':MahalMapDefaultMarker,'Router':Router,'Search':Search,'SearchByLocation':SearchByLocation,'keyUtils':keyUtils,'utils':utils});
|
|
1
|
+
'use strict';var a0_0x2b802e=a0_0x2bd8;(function(_0x57b836,_0x17e803){var _0x3ff22e=a0_0x2bd8,_0x28f067=_0x57b836();while(!![]){try{var _0x48e5ce=-parseInt(_0x3ff22e(0x10a))/0x1*(parseInt(_0x3ff22e(0x1a5))/0x2)+-parseInt(_0x3ff22e(0x108))/0x3+-parseInt(_0x3ff22e(0x14f))/0x4*(parseInt(_0x3ff22e(0x155))/0x5)+-parseInt(_0x3ff22e(0x163))/0x6*(-parseInt(_0x3ff22e(0x141))/0x7)+parseInt(_0x3ff22e(0x13c))/0x8+parseInt(_0x3ff22e(0x15f))/0x9*(parseInt(_0x3ff22e(0x15e))/0xa)+parseInt(_0x3ff22e(0x1b0))/0xb*(parseInt(_0x3ff22e(0xf4))/0xc);if(_0x48e5ce===_0x17e803)break;else _0x28f067['push'](_0x28f067['shift']());}catch(_0x322908){_0x28f067['push'](_0x28f067['shift']());}}}(a0_0x1c67,0xee3b0));var N=Object[a0_0x2b802e(0x1aa)],u=Object[a0_0x2b802e(0xfe)],Z=Object[a0_0x2b802e(0x190)],z=Object[a0_0x2b802e(0x12a)],H=Object[a0_0x2b802e(0x196)],V=Object[a0_0x2b802e(0x16d)][a0_0x2b802e(0x193)],M=(_0x3c2f20,_0x1155e5)=>{for(var _0x2e3b0c in _0x1155e5)u(_0x3c2f20,_0x2e3b0c,{'get':_0x1155e5[_0x2e3b0c],'enumerable':!0x0});},T=(_0xe0ed2a,_0x33c91e,_0xe5152a,_0xe13056)=>{var _0xbd0be=a0_0x2b802e,_0x45e909={'sgqjt':function(_0x30fd70,_0x2e4ba9){return _0x30fd70==_0x2e4ba9;},'VzYdn':'object','XxDpp':function(_0x3fda96,_0x52c2c8){return _0x3fda96(_0x52c2c8);},'Dymgj':function(_0x4d34b9,_0x22c333){return _0x4d34b9!==_0x22c333;},'jDCcT':function(_0x3622a4,_0x3f8780,_0x4ee74d,_0x173af1){return _0x3622a4(_0x3f8780,_0x4ee74d,_0x173af1);},'tippZ':function(_0x3bbde1,_0x30c467,_0x475976){return _0x3bbde1(_0x30c467,_0x475976);}};if(_0x33c91e&&_0x45e909[_0xbd0be(0x187)](typeof _0x33c91e,_0x45e909[_0xbd0be(0x156)])||typeof _0x33c91e=='function'){for(let _0x4ac610 of _0x45e909[_0xbd0be(0x120)](z,_0x33c91e))!V['call'](_0xe0ed2a,_0x4ac610)&&_0x45e909[_0xbd0be(0x147)](_0x4ac610,_0xe5152a)&&_0x45e909[_0xbd0be(0x11a)](u,_0xe0ed2a,_0x4ac610,{'get':()=>_0x33c91e[_0x4ac610],'enumerable':!(_0xe13056=_0x45e909[_0xbd0be(0x130)](Z,_0x33c91e,_0x4ac610))||_0xe13056[_0xbd0be(0x142)]});}return _0xe0ed2a;},X=(_0x378418,_0x4bfa80,_0x3040d0)=>(_0x3040d0=_0x378418!=null?N(H(_0x378418)):{},T(_0x4bfa80||!_0x378418||!_0x378418[a0_0x2b802e(0x109)]?u(_0x3040d0,a0_0x2b802e(0x122),{'value':_0x378418,'enumerable':!0x0}):_0x3040d0,_0x378418)),q=_0x4f6db7=>T(u({},'__esModule',{'value':!0x0}),_0x4f6db7),ae={};M(ae,{'MahalMap':()=>y,'MahalMapDefaultMarker':()=>f,'Router':()=>_,'Search':()=>K,'SearchByLocation':()=>O,'keyUtils':()=>b,'utils':()=>w}),module['exports']=q(ae);var R=a0_0x2b802e(0x11d),P='https://mtile.gram.tj/custom-styles/dark-style.json',C=a0_0x2b802e(0x137),k=a0_0x2b802e(0x1bd);function L(_0x4885c2){var _0x5a5f3f=a0_0x2b802e,_0x2235da={'McpVI':function(_0x4b2978,_0x2987e2){return _0x4b2978-_0x2987e2;},'BGoZr':function(_0x3ac941,_0x5a90ef){return _0x3ac941<<_0x5a90ef;},'jZwin':function(_0x35d7da,_0x5e9857){return _0x35d7da&_0x5e9857;},'IGKci':function(_0x11cd87,_0x5d23f5){return _0x11cd87>=_0x5d23f5;},'LPBCF':function(_0x1071f0,_0x132091){return _0x1071f0&_0x132091;},'LsEUT':function(_0x5db2fa,_0x121b1e){return _0x5db2fa>>_0x121b1e;},'FxMAl':function(_0x30cfd6,_0x4498bd){return _0x30cfd6-_0x4498bd;},'dOsXn':function(_0x36be95,_0x432be2){return _0x36be95<<_0x432be2;},'qNWBB':function(_0x3ad770,_0x5f22e8){return _0x3ad770&_0x5f22e8;},'UAxxT':function(_0x1cfc22,_0x3ffa95){return _0x1cfc22>>_0x3ffa95;},'qIeiI':function(_0x115aba,_0x27e735){return _0x115aba*_0x27e735;}};let _0x370ab8=[],_0x2af73a=0x0,_0x17193c=_0x4885c2[_0x5a5f3f(0x182)],_0x4d5e20=0x0,_0x4d9f33=0x0;for(;_0x2af73a<_0x17193c;){let _0x34abf3,_0x20f789=0x0,_0x1eb50c=0x0;do _0x34abf3=_0x2235da[_0x5a5f3f(0x1a2)](_0x4885c2['charCodeAt'](_0x2af73a++),0x3f),_0x1eb50c|=_0x2235da[_0x5a5f3f(0x160)](_0x2235da[_0x5a5f3f(0xff)](_0x34abf3,0x1f),_0x20f789),_0x20f789+=0x5;while(_0x2235da['IGKci'](_0x34abf3,0x20));let _0x63299c=_0x2235da[_0x5a5f3f(0x136)](_0x1eb50c,0x1)?~_0x2235da[_0x5a5f3f(0x111)](_0x1eb50c,0x1):_0x2235da[_0x5a5f3f(0x111)](_0x1eb50c,0x1);_0x4d5e20+=_0x63299c,_0x20f789=0x0,_0x1eb50c=0x0;do _0x34abf3=_0x2235da[_0x5a5f3f(0x1a7)](_0x4885c2[_0x5a5f3f(0x1b1)](_0x2af73a++),0x3f),_0x1eb50c|=_0x2235da['dOsXn'](_0x34abf3&0x1f,_0x20f789),_0x20f789+=0x5;while(_0x34abf3>=0x20);let _0x1681c1=_0x2235da[_0x5a5f3f(0x11b)](_0x1eb50c,0x1)?~_0x2235da[_0x5a5f3f(0x1be)](_0x1eb50c,0x1):_0x2235da[_0x5a5f3f(0x111)](_0x1eb50c,0x1);_0x4d9f33+=_0x1681c1,_0x370ab8[_0x5a5f3f(0x164)]([_0x4d9f33*0.00001,_0x2235da[_0x5a5f3f(0x19e)](_0x4d5e20,0.00001)]);}return _0x370ab8;}var h=class{constructor(_0x1ac158){var _0x59a608=a0_0x2b802e;this[_0x59a608(0x135)]=_0x1ac158;}[a0_0x2b802e(0x178)](_0x5c6a1d,_0x4aaf0b=!0x0){var _0x1ba5b6=a0_0x2b802e;_0x4aaf0b?this[_0x1ba5b6(0x135)][_0x1ba5b6(0x1ab)]({'zoom':_0x5c6a1d}):this[_0x1ba5b6(0x135)][_0x1ba5b6(0x178)](_0x5c6a1d);}['setBearing'](_0x19cba6,_0xc0b852=!0x0){var _0x30a996=a0_0x2b802e;_0xc0b852?this['map'][_0x30a996(0x1ab)]({'bearing':_0x19cba6}):this[_0x30a996(0x135)][_0x30a996(0x106)](_0x19cba6);}['setPitch'](_0x20f829,_0x5a2fb4=!0x0){var _0x3bcc9b=a0_0x2b802e;_0x5a2fb4?this['map'][_0x3bcc9b(0x1ab)]({'pitch':_0x20f829}):this[_0x3bcc9b(0x135)][_0x3bcc9b(0x180)](_0x20f829);}[a0_0x2b802e(0x167)](_0x29cd30){var _0x296d2f=a0_0x2b802e;this[_0x296d2f(0x135)][_0x296d2f(0x1ab)]({'pitch':_0x29cd30?0x3c:0x0,'bearing':_0x29cd30?this['map'][_0x296d2f(0x1a0)]():0x0,'duration':0x320});}['resetNorth'](){var _0x5150c7=a0_0x2b802e;this['map'][_0x5150c7(0x1ab)]({'bearing':0x0,'pitch':0x0,'duration':0x258});}[a0_0x2b802e(0x161)](_0x5d4c7f){this['map']['flyTo']({'speed':1.2,'curve':1.42,'essential':!0x0,..._0x5d4c7f});}['getPitch'](){var _0x3248b8=a0_0x2b802e;return this[_0x3248b8(0x135)]['getPitch']();}},Y=/<svg[\s>]/i,J=/<(svg|path|g|circle|rect|polygon|line|polyline|ellipse|use)\b/i,g=(_0x9f52ce,_0x506a81,_0x3b66d0)=>{var _0x23a6eb=a0_0x2b802e;let _0x6ccf1e=new RegExp('\x5cs'+_0x506a81+_0x23a6eb(0x159),'i');return _0x6ccf1e[_0x23a6eb(0x1cd)](_0x9f52ce)?_0x9f52ce[_0x23a6eb(0x134)](_0x6ccf1e,'\x20'+_0x506a81+'=\x22'+_0x3b66d0+'\x22'):_0x9f52ce[_0x23a6eb(0x134)](/<svg\b/i,'<svg\x20'+_0x506a81+'=\x22'+_0x3b66d0+'\x22');},Q=_0x1efa45=>_0x1efa45[a0_0x2b802e(0x134)](/&/g,a0_0x2b802e(0x148))[a0_0x2b802e(0x134)](/"/g,a0_0x2b802e(0x133)),A=_0x4d06f3=>a0_0x2b802e(0x131)+Q(_0x4d06f3)+a0_0x2b802e(0x171),W=_0x51a977=>{var _0x3d40fe=a0_0x2b802e,_0x2e675f={'HJPwL':function(_0x4889ff,_0x4d6a0b,_0x19fc6c,_0x252531){return _0x4889ff(_0x4d6a0b,_0x19fc6c,_0x252531);},'IwIfu':function(_0x3d9719,_0x1d4c9a,_0x2632f3,_0x1a02e0){return _0x3d9719(_0x1d4c9a,_0x2632f3,_0x1a02e0);},'TuGRU':_0x3d40fe(0x140),'svUSK':_0x3d40fe(0xf3),'SHvaY':'<svg\x20preserveAspectRatio=\x22xMidYMid\x20meet\x22'};let _0x1f270c=_0x51a977[_0x3d40fe(0xfc)]();if(Y[_0x3d40fe(0x1cd)](_0x1f270c)){let _0x2aa33a=g(_0x1f270c,'x','14');return _0x2aa33a=_0x2e675f[_0x3d40fe(0x10b)](g,_0x2aa33a,'y','12'),_0x2aa33a=_0x2e675f['IwIfu'](g,_0x2aa33a,_0x2e675f['TuGRU'],'22'),_0x2aa33a=g(_0x2aa33a,_0x2e675f['svUSK'],'22'),/\spreserveAspectRatio="/i[_0x3d40fe(0x1cd)](_0x2aa33a)||(_0x2aa33a=_0x2aa33a[_0x3d40fe(0x134)](/<svg\b/i,_0x2e675f[_0x3d40fe(0xf8)])),_0x2aa33a;}return _0x3d40fe(0x15a)+_0x1f270c+_0x3d40fe(0xfb);},ee=({innerSvg:_0x22ea94,innerUrl:_0xa98c4e})=>{var _0x2be6ac=a0_0x2b802e,_0x24c3b7={'ORKIx':function(_0x3a83da,_0xf46f63){return _0x3a83da(_0xf46f63);},'MnaAd':function(_0x586f4d,_0x4ff420){return _0x586f4d(_0x4ff420);}};let _0x4273e8=_0x22ea94?.[_0x2be6ac(0xfc)](),_0x41aa63=_0xa98c4e?.[_0x2be6ac(0xfc)]();return _0x4273e8?J[_0x2be6ac(0x1cd)](_0x4273e8)?_0x24c3b7['ORKIx'](W,_0x4273e8):_0x24c3b7[_0x2be6ac(0x1a3)](A,_0x4273e8):_0x41aa63?_0x24c3b7[_0x2be6ac(0x119)](A,_0x41aa63):'';},E=(_0x37a490,_0x2a77a5={})=>a0_0x2b802e(0x19c)+(_0x37a490||a0_0x2b802e(0x1a8))+a0_0x2b802e(0x10f)+(_0x37a490||a0_0x2b802e(0x1a8))+'\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\x20'+ee(_0x2a77a5)+a0_0x2b802e(0x127),f=class{constructor(_0x2a5107){var _0x566b85=a0_0x2b802e;this[_0x566b85(0x14b)]=_0x2a5107,this['element']=this['createElement']();}[a0_0x2b802e(0x1c3)](){var _0x40110b=a0_0x2b802e,_0x2694ba={'AETcT':'div','jaAEw':_0x40110b(0x118),'eoNXj':function(_0x5b0bf3,_0x24c7a9,_0x357df9){return _0x5b0bf3(_0x24c7a9,_0x357df9);}};let _0x384246=document[_0x40110b(0x1c3)](_0x2694ba[_0x40110b(0xfa)]);_0x384246[_0x40110b(0x157)]['cursor']=_0x2694ba[_0x40110b(0x176)];let _0xd43b35=this[_0x40110b(0x14b)][_0x40110b(0x1ad)]?this['applyColorToCustomSvg'](this[_0x40110b(0x14b)][_0x40110b(0x1ad)]):_0x2694ba[_0x40110b(0x17a)](E,this['props']['color']??_0x40110b(0x1a8),{'innerSvg':this['props'][_0x40110b(0x17c)],'innerUrl':this['props']['innerUrl']});return _0x384246[_0x40110b(0x126)]=_0xd43b35,this[_0x40110b(0x14b)]['draggable']&&(_0x384246[_0x40110b(0x123)]=!0x0),_0x384246;}[a0_0x2b802e(0x103)](_0x55f452){var _0xfa2b3e=a0_0x2b802e;return this['props'][_0xfa2b3e(0x195)]?_0x55f452[_0xfa2b3e(0x134)](/fill="[^"]*"/g,'fill=\x22'+this[_0xfa2b3e(0x14b)][_0xfa2b3e(0x195)]+'\x22'):_0x55f452;}['getElement'](){var _0x3a8271=a0_0x2b802e;return this[_0x3a8271(0x185)];}[a0_0x2b802e(0x18f)](){var _0x3c5ed3=a0_0x2b802e;return this[_0x3c5ed3(0x14b)]['coordinates'];}[a0_0x2b802e(0x10e)](){var _0x3a859b=a0_0x2b802e;return!!this['props'][_0x3a859b(0x123)];}[a0_0x2b802e(0xf5)](){var _0x3ccefc=a0_0x2b802e,_0x59446b={'gXYkK':_0x3ccefc(0x1b3)};return this[_0x3ccefc(0x14b)][_0x3ccefc(0x1b5)]||_0x59446b['gXYkK'];}};function B(_0x3af0aa,_0x134707,_0x4938a5){var _0x505520=a0_0x2b802e,_0x2d7deb={'sfoiQ':_0x505520(0x1b3)};return new _0x3af0aa[(_0x505520(0x11f))]({'element':_0x4938a5[_0x505520(0x1b8)](),'draggable':_0x4938a5['isDraggable']?.()??!0x1,'anchor':_0x4938a5[_0x505520(0xf5)]?.()??_0x2d7deb['sfoiQ']})[_0x505520(0x12b)](_0x4938a5['getCoordinates']())[_0x505520(0x15c)](_0x134707);}var d={'dark':P,'light':C},n=class n{constructor(){var _0xe82241=a0_0x2b802e;this['isReady']=!0x1,this[_0xe82241(0x1ac)]=[];}static['create'](_0x1a6963,_0x2e17ee){var _0x15849c=a0_0x2b802e,_0xf16a42={'WcLly':'[MahalMap\x20SDK]\x20MapLibre\x20GL\x20не\x20найден.\x20Передай\x20его\x20вторым\x20аргументом\x20или\x20подключи\x20через\x20script.','uxEdl':function(_0x348a74,_0x4152c0){return _0x348a74===_0x4152c0;},'btxiL':'dark','evHEh':function(_0x3346a5,_0x152d18){return _0x3346a5!==_0x152d18;}};if(n[_0x15849c(0x19f)])return n[_0x15849c(0x19f)];let _0x5341e2=window['maplibregl']||_0x2e17ee;if(!_0x5341e2)throw new Error(_0xf16a42[_0x15849c(0x17d)]);let _0x4495b9=_0x1a6963['autoAddVectorSource']?k:_0x1a6963[_0x15849c(0x157)]?_0x1a6963[_0x15849c(0x157)]:_0xf16a42[_0x15849c(0x186)](_0x1a6963['theme'],_0xf16a42[_0x15849c(0x125)])?d[_0x15849c(0x124)]:d[_0x15849c(0x12f)],_0x51b0ed=new n();return _0x51b0ed['options']=_0x1a6963,_0x51b0ed[_0x15849c(0x107)]=_0x5341e2,_0x51b0ed['map']=new _0x5341e2[(_0x15849c(0x17f))]({'container':_0x1a6963[_0x15849c(0x145)]||_0x15849c(0x135),'style':_0x4495b9,'center':_0x1a6963[_0x15849c(0x1b3)]||[69.624024,40.279687],'zoom':_0x1a6963[_0x15849c(0x174)]||0x5,'attributionControl':_0xf16a42[_0x15849c(0x1af)](_0x1a6963[_0x15849c(0x1bf)],!0x1)}),_0x51b0ed['map']['on'](_0x15849c(0xf7),()=>{var _0x1781ac=_0x15849c;_0x51b0ed['isReady']=!0x0,_0x51b0ed['camera']=new h(_0x51b0ed['map']),_0x51b0ed[_0x1781ac(0x1ac)]['forEach'](_0x4fedff=>_0x4fedff(_0x51b0ed[_0x1781ac(0x135)])),_0x51b0ed['readyCallbacks']=[];}),n['instance']=_0x51b0ed,_0x51b0ed;}static[a0_0x2b802e(0x15b)](_0x106ae0){var _0x1ad265=a0_0x2b802e,_0x26466f={'Xfmzm':function(_0x5c9eff,_0x54c227){return _0x5c9eff(_0x54c227);}};if(!n[_0x1ad265(0x19f)]){let _0x15d32f=setInterval(()=>{var _0x5a19d7=_0x1ad265;n['instance']&&(_0x26466f['Xfmzm'](clearInterval,_0x15d32f),n[_0x5a19d7(0x15b)](_0x106ae0));},0x32);return;}let _0x153340=n[_0x1ad265(0x19f)];_0x153340[_0x1ad265(0x129)]?_0x26466f[_0x1ad265(0x1c7)](_0x106ae0,_0x153340[_0x1ad265(0x135)]):_0x153340[_0x1ad265(0x1ac)][_0x1ad265(0x164)](_0x106ae0);}static[a0_0x2b802e(0x166)](){var _0x4206d1=a0_0x2b802e,_0x3163e7={'zMYLl':_0x4206d1(0x172)};if(!n[_0x4206d1(0x19f)])throw new Error(_0x3163e7['zMYLl']);return n['instance'];}[a0_0x2b802e(0x13d)](_0x5c68d6){var _0x27ef6a=a0_0x2b802e,_0x39ed5c={'gbAdZ':function(_0x32dc36,_0x406353,_0xe7845,_0xda6183){return _0x32dc36(_0x406353,_0xe7845,_0xda6183);}};return _0x39ed5c[_0x27ef6a(0x168)](B,this[_0x27ef6a(0x107)],this[_0x27ef6a(0x135)],_0x5c68d6);}[a0_0x2b802e(0x1a6)](_0x2092ae){var _0x43988c=a0_0x2b802e;this[_0x43988c(0x135)]=_0x2092ae,this['camera']=new h(_0x2092ae);}['getCamera'](){return this['camera'];}[a0_0x2b802e(0x12c)](){var _0x843546=a0_0x2b802e;return this[_0x843546(0x135)];}[a0_0x2b802e(0x153)](_0x525874){var _0x4c60bd=a0_0x2b802e,_0x23528f={'IVUMy':function(_0x1424b2,_0x45f214){return _0x1424b2===_0x45f214;},'Gvcgu':_0x4c60bd(0x124)};this['map'][_0x4c60bd(0x153)](_0x23528f[_0x4c60bd(0x1ae)](_0x525874,_0x23528f['Gvcgu'])?d[_0x4c60bd(0x124)]:d[_0x4c60bd(0x12f)]);}[a0_0x2b802e(0x18b)](_0x14e822){var _0x166370=a0_0x2b802e;this['map'][_0x166370(0x18b)](_0x14e822);}['setZoom'](_0x3a48c3){var _0x280690=a0_0x2b802e;this[_0x280690(0x135)][_0x280690(0x178)](_0x3a48c3);}[a0_0x2b802e(0x1c6)](){var _0x28b19f=a0_0x2b802e;this['map'][_0x28b19f(0x16a)](),n['instance']=null;}};function a0_0x1c67(){var _0x1abab9=['defineProperty','jZwin','Rsvrn','apikey','raSHg','applyColorToCustomSvg','CIhnl','mVwhk','setBearing','maplibre','1128891YmqLdG','__esModule','2pdbHel','HJPwL','WyRVY','QJPTc','isDraggable','\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','jjiFp','LsEUT','uZsfY','status','mBlHV','XZoZT','PpyPu','zxXsT','pointer','MnaAd','jDCcT','qNWBB','geometry','https://platform.mahal.tj/api/','aGuxT','Marker','XxDpp','string','default','draggable','dark','btxiL','innerHTML','\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>','UCDdj','isReady','getOwnPropertyNames','setLngLat','getMap','MkvXo','gPujS','light','tippZ','<image\x20href=\x22','NfgCv','"','replace','map','LPBCF','https://mtile.gram.tj/custom-styles/mapstyle.json','ljnjB','ETRWl','Sbnpf','FjIfb','12605744hMcses','addMarker','OWgYl','Error\x20while\x20searching\x20address\x20by\x20location:','width','2195529QUKKmY','enumerable','apply','WvSDo','container','post','Dymgj','&','return\x20(function()\x20','reject','props','log','xjMGW','qHwXS','1142132IGTsTq','QWPrW','KqfFJ','request','setStyle','warn','25pOCVJe','VzYdn','style','vaeGa','=\x22[^\x22]*\x22','<g\x20transform=\x22translate(14\x2012)\x22>','onReady','addTo','route','1188310rSHhPy','45IXJbMY','BGoZr','flyTo','GHrmV','6SgtxtZ','push','Bearer\x20','getInstance','toggle3D','gbAdZ','exports','remove','services/getAddress','gNkAz','prototype','get','JhVTu','svYJt','\x22\x20x=\x2214\x22\x20y=\x2212\x22\x20width=\x2222\x22\x20height=\x2222\x22\x20style=\x22filter:\x20brightness(0)\x20invert(1);\x22\x20/>','[MahalMap\x20SDK]\x20Карта\x20ещё\x20не\x20создана','console','zoom','data','jaAEw','headers','setZoom','NCDYR','eoNXj','rRUVV','innerSvg','WcLly','searchParams','Map','setPitch','forEach','length','token','services/getRoutes','element','uxEdl','sgqjt','jjGAq','trace','<svg\x20preserveAspectRatio=\x22xMidYMid\x20meet\x22','setCenter','__proto__','Rvxpj','axios','getCoordinates','getOwnPropertyDescriptor','zfnJu','2|0|3|4|5|1','hasOwnProperty','innerUrl','color','getPrototypeOf','bhRWA','zHgEk','Authorization','getPitch','toString','<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','script','qIeiI','instance','getBearing','VXeXw','McpVI','ORKIx','mahal_map.sdk.js','503346MJbDwD','init','FxMAl','#278960','bind','create','easeTo','readyCallbacks','svg','IVUMy','evHEh','44QbJQBH','charCodeAt','routes','center','OaJPu','anchor','div','constructor','getElement','mtVWk','MFLXM','RvgPe','geojson','https://mtile.gram.tj/custom-styles/style_maptiler_basic_hn.json','UAxxT','attributionControl','src','error','BIlMc','createElement','kRnrs','Rtehh','destroy','Xfmzm','FLdVc','rvNqN','WxOnt','{}.constructor(\x22return\x20this\x22)(\x20)','aJKHF','test','getElementsByTagName','interceptors','height','2398740bbWUSq','getAnchor','includes','load','SHvaY','Error\x20while\x20searching\x20address:','AETcT','</g>','trim','cursor'];a0_0x1c67=function(){return _0x1abab9;};return a0_0x1c67();}n[a0_0x2b802e(0x19f)]=null;var y=n,G=X(require(a0_0x2b802e(0x18e))),l=G['default'][a0_0x2b802e(0x1aa)]({'baseURL':R});l[a0_0x2b802e(0xf2)][a0_0x2b802e(0x152)]['use'](_0x363bf5=>_0x363bf5,_0x3f37bd=>(_0x3f37bd[a0_0x2b802e(0x152)]?.[a0_0x2b802e(0x113)]===0x191&&x(),Promise[a0_0x2b802e(0x14a)](_0x3f37bd)));var b={};M(b,{'clearKey':()=>x,'getApiKey':()=>m,'saveKey':()=>S});var v='';function S(_0x1d201d){var _0x492186=a0_0x2b802e,_0x5b9f80={'aJKHF':function(_0x418810,_0xf99111){return _0x418810!==_0xf99111;}};_0x5b9f80[_0x492186(0x1cc)](_0x1d201d,'')&&(v=_0x1d201d,l['defaults'][_0x492186(0x177)]['common'][_0x492186(0x199)]=_0x492186(0x165)+_0x1d201d);}function x(){var _0x486435=a0_0x2b802e,_0x24b887={'UCDdj':_0x486435(0x118),'QJPTc':function(_0x166beb,_0x45aa30,_0x365b60){return _0x166beb(_0x45aa30,_0x365b60);},'Rtehh':function(_0x3f02ea,_0x585325){return _0x3f02ea===_0x585325;},'RvgPe':_0x486435(0x132),'jjGAq':function(_0x12831f,_0x5ea11e){return _0x12831f!==_0x5ea11e;},'JhVTu':'zfnJu','Rsvrn':function(_0x19cb2d,_0x16c99){return _0x19cb2d(_0x16c99);},'Kxkhl':function(_0x1695f7,_0xc06506){return _0x1695f7!==_0xc06506;},'OaJPu':'tuGia','cvVoT':_0x486435(0x1c2),'aGuxT':function(_0x4e9d0c){return _0x4e9d0c();},'RuucE':_0x486435(0x14c),'xgjGL':'info','vaeGa':_0x486435(0x1c1),'OemRz':'exception','gNkAz':'table','mtVWk':function(_0x44bf82,_0x2544e3){return _0x44bf82<_0x2544e3;},'KqfFJ':_0x486435(0x192),'raSHg':function(_0x55c19f){return _0x55c19f();}},_0x43f7b1=(function(){var _0x2a85b3=!![];return function(_0x30e83e,_0x193f23){var _0x5710f8=_0x2a85b3?function(){var _0x23b3a9=a0_0x2bd8;if(_0x193f23){var _0x56d182=_0x193f23[_0x23b3a9(0x143)](_0x30e83e,arguments);return _0x193f23=null,_0x56d182;}}:function(){};return _0x2a85b3=![],_0x5710f8;};}()),_0x3cbe37=_0x24b887['QJPTc'](_0x43f7b1,this,function(){var _0x2e6c4a=_0x486435,_0x3f5f84={'ETRWl':_0x2e6c4a(0x1b6),'zxXsT':_0x24b887[_0x2e6c4a(0x128)],'BwdgR':function(_0x496148,_0x447bd7,_0x133832){var _0x548c74=_0x2e6c4a;return _0x24b887[_0x548c74(0x10d)](_0x496148,_0x447bd7,_0x133832);},'qHwXS':function(_0x5d2f4a,_0x105329){var _0x56f54a=_0x2e6c4a;return _0x24b887[_0x56f54a(0x1c5)](_0x5d2f4a,_0x105329);},'kRnrs':_0x24b887[_0x2e6c4a(0x1bb)],'CIhnl':function(_0x54b412,_0x4d7098){var _0x481e0d=_0x2e6c4a;return _0x24b887[_0x481e0d(0x188)](_0x54b412,_0x4d7098);},'GHrmV':_0x24b887[_0x2e6c4a(0x16f)],'bhRWA':function(_0x20c164,_0x40655a){var _0x4ef3be=_0x2e6c4a;return _0x24b887[_0x4ef3be(0x100)](_0x20c164,_0x40655a);},'WyRVY':function(_0x2973e9,_0x2ee986){return _0x2973e9+_0x2ee986;}};if(_0x24b887['Kxkhl'](_0x24b887[_0x2e6c4a(0x1b4)],_0x24b887['cvVoT'])){var _0x494320=function(){var _0x28a911=_0x2e6c4a,_0x22bab2={'cmXXF':_0x3f5f84[_0x28a911(0x139)],'MFLXM':_0x3f5f84[_0x28a911(0x117)],'FLdVc':function(_0x29105e,_0x5930d6,_0x44a37){return _0x3f5f84['BwdgR'](_0x29105e,_0x5930d6,_0x44a37);},'VXeXw':_0x28a911(0x1a8)};if(_0x3f5f84[_0x28a911(0x14e)](_0x3f5f84[_0x28a911(0x1c4)],'NfgCv')){var _0x42b6d6;try{if(_0x3f5f84[_0x28a911(0x104)](_0x3f5f84[_0x28a911(0x162)],_0x28a911(0x191)))return!!this['props'][_0x28a911(0x123)];else _0x42b6d6=_0x3f5f84[_0x28a911(0x197)](Function,_0x3f5f84[_0x28a911(0x10c)](_0x28a911(0x149),_0x28a911(0x1cb))+');')();}catch(_0x5d3740){if(_0x28a911(0x105)!==_0x28a911(0x105))return new _0x38b090[(_0x28a911(0x11f))]({'element':_0x499de7[_0x28a911(0x1b8)](),'draggable':_0x582029[_0x28a911(0x10e)]?.()??!0x1,'anchor':_0x35cec8[_0x28a911(0xf5)]?.()??_0x28a911(0x1b3)})[_0x28a911(0x12b)](_0x3a698f['getCoordinates']())[_0x28a911(0x15c)](_0x5b35dd);else _0x42b6d6=window;}return _0x42b6d6;}else{var _0x1410ab=_0x517d29[_0x28a911(0x1c3)](_0x22bab2['cmXXF']);_0x1410ab[_0x28a911(0x157)][_0x28a911(0xfd)]=_0x22bab2[_0x28a911(0x1ba)];var _0x44a740=this[_0x28a911(0x14b)][_0x28a911(0x1ad)]?this['applyColorToCustomSvg'](this[_0x28a911(0x14b)]['svg']):_0x22bab2[_0x28a911(0x1c8)](_0x5273e7,this[_0x28a911(0x14b)][_0x28a911(0x195)]??_0x22bab2[_0x28a911(0x1a1)],{'innerSvg':this[_0x28a911(0x14b)]['innerSvg'],'innerUrl':this[_0x28a911(0x14b)][_0x28a911(0x194)]});return _0x1410ab[_0x28a911(0x126)]=_0x44a740,this[_0x28a911(0x14b)][_0x28a911(0x123)]&&(_0x1410ab[_0x28a911(0x123)]=!0x0),_0x1410ab;}},_0x35ed40=_0x24b887[_0x2e6c4a(0x11e)](_0x494320),_0x3e9ddb=_0x35ed40[_0x2e6c4a(0x173)]=_0x35ed40[_0x2e6c4a(0x173)]||{},_0x21cf15=[_0x24b887['RuucE'],_0x2e6c4a(0x154),_0x24b887['xgjGL'],_0x24b887[_0x2e6c4a(0x158)],_0x24b887['OemRz'],_0x24b887[_0x2e6c4a(0x16c)],_0x2e6c4a(0x189)];for(var _0x5755a8=0x0;_0x24b887[_0x2e6c4a(0x1b9)](_0x5755a8,_0x21cf15[_0x2e6c4a(0x182)]);_0x5755a8++){var _0x17a7a2=_0x24b887[_0x2e6c4a(0x151)]['split']('|'),_0x329705=0x0;while(!![]){switch(_0x17a7a2[_0x329705++]){case'0':var _0x4f5cb6=_0x21cf15[_0x5755a8];continue;case'1':_0x3e9ddb[_0x4f5cb6]=_0x34b79f;continue;case'2':var _0x34b79f=_0x43f7b1[_0x2e6c4a(0x1b7)]['prototype']['bind'](_0x43f7b1);continue;case'3':var _0x3bdb38=_0x3e9ddb[_0x4f5cb6]||_0x34b79f;continue;case'4':_0x34b79f[_0x2e6c4a(0x18c)]=_0x43f7b1[_0x2e6c4a(0x1a9)](_0x43f7b1);continue;case'5':_0x34b79f[_0x2e6c4a(0x19b)]=_0x3bdb38[_0x2e6c4a(0x19b)][_0x2e6c4a(0x1a9)](_0x3bdb38);continue;}break;}}}else this[_0x2e6c4a(0x135)]=_0x2ec622,this['camera']=new _0x5761cf(_0xfa2b5b);});_0x24b887[_0x486435(0x102)](_0x3cbe37),(v='',l['defaults']['headers']['common'][_0x486435(0x199)]='');}var m=()=>v;function a0_0x2bd8(_0x2c08a3,_0x267e47){var _0x1d5406=a0_0x1c67();return a0_0x2bd8=function(_0x30c2db,_0x6ca285){_0x30c2db=_0x30c2db-0xf1;var _0x453062=_0x1d5406[_0x30c2db];return _0x453062;},a0_0x2bd8(_0x2c08a3,_0x267e47);}function I(_0x54cf9c,_0x68d065){var _0x5e1e0f={'ljnjB':function(_0x11aebb,..._0x380249){return _0x11aebb(..._0x380249);}};let _0x1f1469;return(..._0x153e06)=>(_0x1f1469&&clearTimeout(_0x1f1469),new Promise(_0xf8d836=>{_0x1f1469=setTimeout(async()=>{var _0x158271=a0_0x2bd8;let _0x3bd590=await _0x5e1e0f[_0x158271(0x138)](_0x54cf9c,..._0x153e06);_0x5e1e0f[_0x158271(0x138)](_0xf8d836,_0x3bd590);},_0x68d065);}));}var D=async _0x1fea7a=>{var _0x2d4523=a0_0x2b802e,_0x23be21={'FjIfb':_0x2d4523(0xf9)};try{return(await l['post'](_0x2d4523(0x16b),null,{'params':_0x1fea7a}))[_0x2d4523(0x175)];}catch(_0x2217f5){throw console[_0x2d4523(0x1c1)](_0x23be21[_0x2d4523(0x13b)],_0x2217f5),_0x2217f5;}},$=async _0x4f7ba2=>{var _0xe88b70=a0_0x2b802e,_0x468544={'zHgEk':'xkYvn','gPujS':'eGzAi','WxOnt':'services/getAddressByLocation'};try{return _0x468544[_0xe88b70(0x198)]!==_0x468544[_0xe88b70(0x12e)]?(await l['post'](_0x468544[_0xe88b70(0x1ca)],null,{'params':_0x4f7ba2}))[_0xe88b70(0x175)]:this[_0xe88b70(0x135)][_0xe88b70(0x19a)]();}catch(_0x2fed36){throw console[_0xe88b70(0x1c1)](_0xe88b70(0x13f),_0x2fed36),_0x2fed36;}};async function te(_0x5e8816,_0x2323d5,_0x39480f){var _0x472e20=a0_0x2b802e,_0x5554e2={'mBlHV':_0x472e20(0x140),'rvNqN':function(_0xb28d9,_0x450d1b,_0x15a7c5,_0x237581){return _0xb28d9(_0x450d1b,_0x15a7c5,_0x237581);},'NCDYR':_0x472e20(0xf3),'PpyPu':_0x472e20(0x18a),'xjMGW':function(_0x155958){return _0x155958();},'tTGpt':function(_0x491e94,_0x1e774f){return _0x491e94!==_0x1e774f;},'rRUVV':_0x472e20(0x144)};let _0x2bf170={'text':_0x5e8816,'token':_0x2323d5||_0x5554e2[_0x472e20(0x14d)](m),..._0x39480f};try{if(_0x5554e2['tTGpt'](_0x5554e2[_0x472e20(0x17b)],_0x5554e2[_0x472e20(0x17b)])){let _0x2daf7b=_0x5389f1[_0x472e20(0xfc)]();if(_0x322a3a[_0x472e20(0x1cd)](_0x2daf7b)){let _0x1fdec4=_0x36cb85(_0x2daf7b,'x','14');return _0x1fdec4=_0x3eb05f(_0x1fdec4,'y','12'),_0x1fdec4=_0x1d8e18(_0x1fdec4,_0x5554e2[_0x472e20(0x114)],'22'),_0x1fdec4=_0x5554e2[_0x472e20(0x1c9)](_0x312ae7,_0x1fdec4,_0x5554e2[_0x472e20(0x179)],'22'),/\spreserveAspectRatio="/i[_0x472e20(0x1cd)](_0x1fdec4)||(_0x1fdec4=_0x1fdec4[_0x472e20(0x134)](/<svg\b/i,_0x5554e2[_0x472e20(0x116)])),_0x1fdec4;}return _0x472e20(0x15a)+_0x2daf7b+_0x472e20(0xfb);}else return await D(_0x2bf170);}catch(_0x1099de){throw _0x1099de;}}var re=I(te,0x1f4);async function K(_0x3c76b3,_0x3ba027,_0x296ba9){var _0x191550=a0_0x2b802e,_0x1ef02d={'QWPrW':function(_0x20fed1,_0x37c65d,_0x1570f1,_0x259d13){return _0x20fed1(_0x37c65d,_0x1570f1,_0x259d13);}};return await _0x1ef02d[_0x191550(0x150)](re,_0x3c76b3,_0x3ba027,_0x296ba9);}async function O(_0x4b6a8e){var _0x3fd47f=a0_0x2b802e,_0x2f9eee={'XZoZT':function(_0x5a5700){return _0x5a5700();},'OWgYl':function(_0x22bfd2,_0x4c8bf9){return _0x22bfd2(_0x4c8bf9);}};let _0x21e0e3={..._0x4b6a8e,'token':_0x4b6a8e[_0x3fd47f(0x183)]?_0x4b6a8e[_0x3fd47f(0x183)]:_0x2f9eee[_0x3fd47f(0x115)](m)};try{return await _0x2f9eee[_0x3fd47f(0x13e)]($,_0x21e0e3);}catch(_0x456a78){throw _0x456a78;}}var U=async(_0x4c02c4,_0x2d2e5c)=>{var _0x2be6ba=a0_0x2b802e,_0x15ac8b={'Rvxpj':function(_0x51ed76){return _0x51ed76();}};try{let _0x99c8c=[];return _0x4c02c4[_0x2be6ba(0x181)](_0x180a60=>{var _0x37f559=_0x2be6ba;_0x99c8c[_0x37f559(0x164)]({'lng':_0x180a60[0x0],'lat':_0x180a60[0x1]});}),(await l[_0x2be6ba(0x146)](_0x2be6ba(0x184),{'points':_0x99c8c,'token':_0x2d2e5c||_0x15ac8b[_0x2be6ba(0x18d)](m)}))[_0x2be6ba(0x175)];}catch(_0x1cb9fc){throw console['error'](_0x1cb9fc),_0x1cb9fc;}};async function _(_0x14e485,_0x477697,_0x299ef8){var _0x3192e9=a0_0x2b802e,_0x16b006={'svYJt':function(_0x1f8652,_0x3691f5){return _0x1f8652(_0x3691f5);},'MkvXo':function(_0x3b2dc8,_0x23f616,_0x5cb7c8){return _0x3b2dc8(_0x23f616,_0x5cb7c8);},'jjiFp':function(_0x3bf13b,_0x2bd89c){return _0x3bf13b!==_0x2bd89c;},'uZsfY':_0x3192e9(0x13a)};try{if(_0x16b006[_0x3192e9(0x110)](_0x16b006[_0x3192e9(0x112)],_0x3192e9(0x13a))){let _0x4b36a6=_0x16b006[_0x3192e9(0x12d)](_0x180a03,()=>{var _0x1de01c=_0x3192e9;_0x393cf3[_0x1de01c(0x19f)]&&(_0x16b006[_0x1de01c(0x170)](_0x471b5e,_0x4b36a6),_0x3ca1f9[_0x1de01c(0x15b)](_0xf9b80b));},0x32);return;}else{let _0x52ac7f=await _0x16b006[_0x3192e9(0x12d)](U,_0x14e485,_0x299ef8);return _0x52ac7f?.[_0x3192e9(0x175)]?_0x52ac7f[_0x3192e9(0x175)][_0x3192e9(0x135)](_0x2500c8=>{var _0x1c61b3=_0x3192e9;let _0x35c765={..._0x2500c8};return _0x35c765[_0x1c61b3(0x15d)]?.[_0x1c61b3(0x1b2)]?.[_0x1c61b3(0x182)]&&(_0x35c765[_0x1c61b3(0x15d)]['routes']=_0x35c765[_0x1c61b3(0x15d)][_0x1c61b3(0x1b2)]['map'](_0x16204d=>({..._0x16204d,'geometry':_0x477697===_0x1c61b3(0x1bc)&&typeof _0x16204d[_0x1c61b3(0x11c)]==_0x1c61b3(0x121)?L(_0x16204d[_0x1c61b3(0x11c)]):_0x16204d[_0x1c61b3(0x11c)]}))),_0x35c765;}):_0x52ac7f;}}catch(_0x32c1e4){throw _0x32c1e4;}}var w={};M(w,{'debounce':()=>I});function oe(){var _0x592237=a0_0x2b802e;let _0x2871f1=document[_0x592237(0xf1)](_0x592237(0x19d));for(let _0x1cc82e of _0x2871f1)if(_0x1cc82e[_0x592237(0x1c0)][_0x592237(0xf6)](_0x592237(0x1a4))){let _0x3edc64=new URL(_0x1cc82e[_0x592237(0x1c0)])[_0x592237(0x17e)][_0x592237(0x16e)](_0x592237(0x101));if(_0x3edc64)return _0x3edc64;}return'';}S(oe()),0x0&&(module[a0_0x2b802e(0x169)]={'MahalMap':MahalMap,'MahalMapDefaultMarker':MahalMapDefaultMarker,'Router':Router,'Search':Search,'SearchByLocation':SearchByLocation,'keyUtils':keyUtils,'utils':utils});
|
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/utils/debounce/index.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/app/utils/index.ts"],"sourcesContent":["// Lib\nimport { MahalMap } from \"@lib/map\";\nimport { Search, SearchByLocation } from \"@lib/search\";\nimport { Router } from \"@lib/routing\";\nimport { MahalMapDefaultMarker } from \"@lib/controller\";\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as utils from \"@app/utils\";\r\n\r\nexport {\n MahalMap,\n Search,\n SearchByLocation,\n Router,\n keyUtils,\n MahalMapDefaultMarker,\n utils,\n};\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, iconUrl?: 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 ${\r\n iconUrl\r\n ? `<image href=\"${iconUrl}\" x=\"14\" y=\"12\" width=\"22\" height=\"22\" style=\"filter: brightness(0) invert(1);\" />`\r\n : \"\"\r\n }\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: ReturnType<typeof setTimeout>;\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 { ISearchByLocationParam, ISearchParam, ISearch } from \"@app/types\";\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};\n\nexport const searchByLocationPost = async (\n params: ISearchByLocationParam,\n): Promise<ISearch[]> => {\n try {\n const response = await api.post(\"services/getAddressByLocation\", null, {\n params,\n });\n return response.data;\n } catch (error) {\n console.error(\"Error while searching address by location:\", error);\n throw error;\n }\n};\n","import { searchByLocationPost, searchPost } from \"./api\";\nimport {\n IAdditionalParamType,\n ISearch,\n ISearchByLocationParam,\n ISearchParam,\n} from \"@app/types/index\";\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(\n param: string,\n token: string,\n additionalParam?: IAdditionalParamType,\n) {\n return await debouncedFn(param, token, additionalParam);\n}\n\nasync function SearchByLocation(\n params: ISearchByLocationParam,\n): Promise<ISearch[]> {\n const searchData: ISearchByLocationParam = {\n ...params,\n token: params.token ? params.token : getApiKey(),\n };\n\n try {\n const res: ISearch[] = await searchByLocationPost(searchData);\n return res;\n } catch (error) {\n throw error;\n }\n}\n\nexport { Search, SearchByLocation };\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","export * from \"./debounce\";\r\n"],"mappings":"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","names":["index_exports","__export","MahalMap","MahalMapDefaultMarker","Router","Search","SearchByLocation","saveKey_exports","utils_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","iconUrl","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","searchByLocationPost","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","Search","SearchByLocation","params","searchByLocationPost","routingApi","param","token","points","e","api","getApiKey","err","Router","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","utils_exports","__export","debounce","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/utils/debounce/index.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/app/utils/index.ts"],"sourcesContent":["// Lib\nimport { MahalMap } from \"@lib/map\";\nimport { Search, SearchByLocation } from \"@lib/search\";\nimport { Router } from \"@lib/routing\";\nimport { MahalMapDefaultMarker } from \"@lib/controller\";\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as utils from \"@app/utils\";\r\n\r\nexport {\n MahalMap,\n Search,\n SearchByLocation,\n Router,\n keyUtils,\n MahalMapDefaultMarker,\n utils,\n};\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","type DefaultMarkerInnerIconOptions = {\n innerSvg?: string;\n innerUrl?: string;\n};\n\nconst SVG_ROOT_PATTERN = /<svg[\\s>]/i;\nconst SVG_MARKUP_PATTERN =\n /<(svg|path|g|circle|rect|polygon|line|polyline|ellipse|use)\\b/i;\n\nconst updateSvgAttribute = (\n svg: string,\n attribute: string,\n value: string,\n): string => {\n const attributePattern = new RegExp(`\\\\s${attribute}=\"[^\"]*\"`, \"i\");\n\n if (attributePattern.test(svg)) {\n return svg.replace(attributePattern, ` ${attribute}=\"${value}\"`);\n }\n\n return svg.replace(/<svg\\b/i, `<svg ${attribute}=\"${value}\"`);\n};\n\nconst escapeSvgAttribute = (value: string): string =>\n value.replace(/&/g, \"&\").replace(/\"/g, \""\");\n\nconst createImageTag = (url: string): string =>\n `<image href=\"${escapeSvgAttribute(url)}\" x=\"14\" y=\"12\" width=\"22\" height=\"22\" style=\"filter: brightness(0) invert(1);\" />`;\n\nconst normalizeInnerSvg = (svg: string): string => {\n const trimmedSvg = svg.trim();\n\n if (SVG_ROOT_PATTERN.test(trimmedSvg)) {\n let normalizedSvg = updateSvgAttribute(trimmedSvg, \"x\", \"14\");\n normalizedSvg = updateSvgAttribute(normalizedSvg, \"y\", \"12\");\n normalizedSvg = updateSvgAttribute(normalizedSvg, \"width\", \"22\");\n normalizedSvg = updateSvgAttribute(normalizedSvg, \"height\", \"22\");\n\n if (!/\\spreserveAspectRatio=\"/i.test(normalizedSvg)) {\n normalizedSvg = normalizedSvg.replace(\n /<svg\\b/i,\n `<svg preserveAspectRatio=\"xMidYMid meet\"`,\n );\n }\n\n return normalizedSvg;\n }\n\n return `<g transform=\"translate(14 12)\">${trimmedSvg}</g>`;\n};\n\nconst resolveInnerIcon = ({\n innerSvg,\n innerUrl,\n}: DefaultMarkerInnerIconOptions): string => {\n const trimmedInnerSvg = innerSvg?.trim();\n const trimmedInnerUrl = innerUrl?.trim();\n\n if (trimmedInnerSvg) {\n if (SVG_MARKUP_PATTERN.test(trimmedInnerSvg)) {\n return normalizeInnerSvg(trimmedInnerSvg);\n }\n\n return createImageTag(trimmedInnerSvg);\n }\n\n if (trimmedInnerUrl) {\n return createImageTag(trimmedInnerUrl);\n }\n\n return \"\";\n};\n\nconst createDefaultMarkerSvg = (\n color: string,\n innerIconOptions: DefaultMarkerInnerIconOptions = {},\n) => `<svg\n width=\"50\"\n height=\"62\"\n viewBox=\"0 0 50 62\"\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 />\n <g clip-path=\"url(#clip0_367_31358)\">\n ${resolveInnerIcon(innerIconOptions)}\n </g>\n <defs>\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\n ? this.applyColorToCustomSvg(this.props.svg)\n : createDefaultMarkerSvg(\n this.props.color ?? \"#278960\",\n {\n innerSvg: this.props.innerSvg,\n innerUrl: this.props.innerUrl,\n },\n );\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: ReturnType<typeof setTimeout>;\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\";\nimport type {\n ISearchByLocationParam,\n ISearchParam,\n ISearchResponse,\n} from \"@app/types\";\n\nexport const searchPost = async (\n params: ISearchParam,\n): Promise<ISearchResponse> => {\n try {\n const response = await api.post(\"services/getAddress\", null, {\n params,\n });\n return response.data;\n } catch (error) {\n console.error(\"Error while searching address:\", error);\n throw error;\n }\n};\n\nexport const searchByLocationPost = async (\n params: ISearchByLocationParam,\n): Promise<ISearchResponse> => {\n try {\n const response = await api.post(\"services/getAddressByLocation\", null, {\n params,\n });\n return response.data;\n } catch (error) {\n console.error(\"Error while searching address by location:\", error);\n throw error;\n }\n};\n","import { searchByLocationPost, searchPost } from \"./api\";\nimport {\n IAdditionalParamType,\n ISearchByLocationParam,\n ISearchParam,\n ISearchResponse,\n} from \"@app/types/index\";\nimport { debounce, getApiKey } from \"@app/lib\";\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\n param: string,\n token: string,\n additionalParam?: IAdditionalParamType,\n): Promise<ISearchResponse> {\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 {\n const res: ISearchResponse = await searchPost(searchData);\n return res;\n } catch (error) {\n throw error;\n }\n}\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function Search(\n param: string,\n token: string,\n additionalParam?: IAdditionalParamType,\n): Promise<ISearchResponse> {\n return await debouncedFn(param, token, additionalParam);\n}\n\nasync function SearchByLocation(\n params: ISearchByLocationParam,\n): Promise<ISearchResponse> {\n const searchData: ISearchByLocationParam = {\n ...params,\n token: params.token ? params.token : getApiKey(),\n };\n\n try {\n const res: ISearchResponse = await searchByLocationPost(searchData);\n return res;\n } catch (error) {\n throw error;\n }\n}\n\nexport { Search, SearchByLocation };\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","export * from \"./debounce\";\r\n"],"mappings":"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","names":["index_exports","__export","MahalMap","MahalMapDefaultMarker","Router","Search","SearchByLocation","saveKey_exports","utils_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","SVG_ROOT_PATTERN","SVG_MARKUP_PATTERN","updateSvgAttribute","svg","attribute","value","attributePattern","escapeSvgAttribute","createImageTag","url","normalizeInnerSvg","trimmedSvg","normalizedSvg","resolveInnerIcon","innerSvg","innerUrl","trimmedInnerSvg","trimmedInnerUrl","createDefaultMarkerSvg","color","innerIconOptions","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","searchByLocationPost","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","Search","SearchByLocation","params","searchByLocationPost","routingApi","param","token","points","e","api","getApiKey","err","Router","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","utils_exports","__export","debounce","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var K=Object.defineProperty;var S=(r,e)=>{for(var t in e)K(r,t,{get:e[t],enumerable:!0})};var b="https://platform.mahal.tj/api/";var I="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 R(r){let e=[],t=0,o=r.length,s=0,c=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 D=p&1?~(p>>1):p>>1;s+=D,i=0,p=0;do a=r.charCodeAt(t++)-63,p|=(a&31)<<i,i+=5;while(a>=32);let $=p&1?~(p>>1):p>>1;c+=$,e.push([c*1e-5,s*1e-5])}return e}var h=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 O=/<svg[\s>]/i,U=/<(svg|path|g|circle|rect|polygon|line|polyline|ellipse|use)\b/i,u=(r,e,t)=>{let o=new RegExp(`\\s${e}="[^"]*"`,"i");return o.test(r)?r.replace(o,` ${e}="${t}"`):r.replace(/<svg\b/i,`<svg ${e}="${t}"`)},_=r=>r.replace(/&/g,"&").replace(/"/g,"""),P=r=>`<image href="${_(r)}" x="14" y="12" width="22" height="22" style="filter: brightness(0) invert(1);" />`,j=r=>{let e=r.trim();if(O.test(e)){let t=u(e,"x","14");return t=u(t,"y","12"),t=u(t,"width","22"),t=u(t,"height","22"),/\spreserveAspectRatio="/i.test(t)||(t=t.replace(/<svg\b/i,'<svg preserveAspectRatio="xMidYMid meet"')),t}return`<g transform="translate(14 12)">${e}</g>`},F=({innerSvg:r,innerUrl:e})=>{let t=r?.trim(),o=e?.trim();return t?U.test(t)?j(t):P(t):o?P(o):""},C=(r,e={})=>`<svg
|
|
2
2
|
width="50"
|
|
3
3
|
height="62"
|
|
4
4
|
viewBox="0 0 50 62"
|
|
@@ -20,7 +20,7 @@ var D=Object.defineProperty;var b=(r,e)=>{for(var t in e)D(r,t,{get:e[t],enumera
|
|
|
20
20
|
stroke-width="2"
|
|
21
21
|
/>
|
|
22
22
|
<g clip-path="url(#clip0_367_31358)">
|
|
23
|
-
${e
|
|
23
|
+
${F(e)}
|
|
24
24
|
</g>
|
|
25
25
|
<defs>
|
|
26
26
|
<filter
|
|
@@ -67,5 +67,5 @@ var D=Object.defineProperty;var b=(r,e)=>{for(var t in e)D(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):
|
|
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):C(this.props.color??"#278960",{innerSvg:this.props.innerSvg,innerUrl:this.props.innerUrl});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 k(r,e,t){return new r.Marker({element:t.getElement(),draggable:t.isDraggable?.()??!1,anchor:t.getAnchor?.()??"center"}).setLngLat(t.getCoordinates()).addTo(e)}var g={dark:I,light:w},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 c=e.autoAddVectorSource?T:e.style?e.style:e.theme==="dark"?g.dark:g.light,a=new n;return a.options=e,a.maplibre=s,a.map=new s.Map({container:e.container||"map",style:c,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 h(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 k(this.maplibre,this.map,e)}init(e){this.map=e,this.camera=new h(e)}getCamera(){return this.camera}getMap(){return this.map}setStyle(e){this.map.setStyle(e==="dark"?g.dark:g.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 N from"axios";var l=N.create({baseURL:b});l.interceptors.request.use(r=>r,r=>(r.request?.status===401&&y(),Promise.reject(r)));var L={};S(L,{clearKey:()=>y,getApiKey:()=>m,saveKey:()=>x});var M="";function x(r){r!==""&&(M=r,l.defaults.headers.common.Authorization=`Bearer ${r}`)}function y(){M="",l.defaults.headers.common.Authorization=""}var m=()=>M;function v(r,e){let t;return(...o)=>(t&&clearTimeout(t),new Promise(s=>{t=setTimeout(async()=>{let c=await r(...o);s(c)},e)}))}var A=async r=>{try{return(await l.post("services/getAddress",null,{params:r})).data}catch(e){throw console.error("Error while searching address:",e),e}},E=async r=>{try{return(await l.post("services/getAddressByLocation",null,{params:r})).data}catch(e){throw console.error("Error while searching address by location:",e),e}};async function Z(r,e,t){let o={text:r,token:e||m(),...t};try{return await A(o)}catch(s){throw s}}var z=v(Z,500);async function H(r,e,t){return await z(r,e,t)}async function V(r){let e={...r,token:r.token?r.token:m()};try{return await E(e)}catch(t){throw t}}var B=async(r,e)=>{try{let t=[];return r.forEach(s=>{t.push({lng:s[0],lat:s[1]})}),(await l.post("services/getRoutes",{points:t,token:e||m()})).data}catch(t){throw console.error(t),t}};async function X(r,e,t){try{let o=await B(r,t);return o?.data?o.data.map(c=>{let a={...c};return a.route?.routes?.length&&(a.route.routes=a.route.routes.map(i=>({...i,geometry:e==="geojson"&&typeof i.geometry=="string"?R(i.geometry):i.geometry}))),a}):o}catch(o){throw o}}var G={};S(G,{debounce:()=>v});function q(){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""}x(q());export{d as MahalMap,f as MahalMapDefaultMarker,X as Router,H as Search,V as SearchByLocation,L as keyUtils,G as utils};
|
|
71
71
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -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/utils/debounce/index.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/app/utils/index.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, iconUrl?: 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 ${\r\n iconUrl\r\n ? `<image href=\"${iconUrl}\" x=\"14\" y=\"12\" width=\"22\" height=\"22\" style=\"filter: brightness(0) invert(1);\" />`\r\n : \"\"\r\n }\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: ReturnType<typeof setTimeout>;\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 { ISearchByLocationParam, ISearchParam, ISearch } from \"@app/types\";\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};\n\nexport const searchByLocationPost = async (\n params: ISearchByLocationParam,\n): Promise<ISearch[]> => {\n try {\n const response = await api.post(\"services/getAddressByLocation\", null, {\n params,\n });\n return response.data;\n } catch (error) {\n console.error(\"Error while searching address by location:\", error);\n throw error;\n }\n};\n","import { searchByLocationPost, searchPost } from \"./api\";\nimport {\n IAdditionalParamType,\n ISearch,\n ISearchByLocationParam,\n ISearchParam,\n} from \"@app/types/index\";\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(\n param: string,\n token: string,\n additionalParam?: IAdditionalParamType,\n) {\n return await debouncedFn(param, token, additionalParam);\n}\n\nasync function SearchByLocation(\n params: ISearchByLocationParam,\n): Promise<ISearch[]> {\n const searchData: ISearchByLocationParam = {\n ...params,\n token: params.token ? params.token : getApiKey(),\n };\n\n try {\n const res: ISearch[] = await searchByLocationPost(searchData);\n return res;\n } catch (error) {\n throw error;\n }\n}\n\nexport { Search, SearchByLocation };\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","export * from \"./debounce\";\r\n","// Lib\nimport { MahalMap } from \"@lib/map\";\nimport { Search, SearchByLocation } from \"@lib/search\";\nimport { Router } from \"@lib/routing\";\nimport { MahalMapDefaultMarker } from \"@lib/controller\";\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as utils from \"@app/utils\";\r\n\r\nexport {\n MahalMap,\n Search,\n SearchByLocation,\n Router,\n keyUtils,\n MahalMapDefaultMarker,\n utils,\n};\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","iconUrl","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","searchByLocationPost","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","Search","SearchByLocation","params","searchByLocationPost","routingApi","param","token","points","e","api","getApiKey","err","Router","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","utils_exports","__export","debounce","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/utils/debounce/index.ts","../src/lib/search/api.ts","../src/lib/search/utils.ts","../src/lib/routing/api.ts","../src/lib/routing/utils.ts","../src/app/utils/index.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","type DefaultMarkerInnerIconOptions = {\n innerSvg?: string;\n innerUrl?: string;\n};\n\nconst SVG_ROOT_PATTERN = /<svg[\\s>]/i;\nconst SVG_MARKUP_PATTERN =\n /<(svg|path|g|circle|rect|polygon|line|polyline|ellipse|use)\\b/i;\n\nconst updateSvgAttribute = (\n svg: string,\n attribute: string,\n value: string,\n): string => {\n const attributePattern = new RegExp(`\\\\s${attribute}=\"[^\"]*\"`, \"i\");\n\n if (attributePattern.test(svg)) {\n return svg.replace(attributePattern, ` ${attribute}=\"${value}\"`);\n }\n\n return svg.replace(/<svg\\b/i, `<svg ${attribute}=\"${value}\"`);\n};\n\nconst escapeSvgAttribute = (value: string): string =>\n value.replace(/&/g, \"&\").replace(/\"/g, \""\");\n\nconst createImageTag = (url: string): string =>\n `<image href=\"${escapeSvgAttribute(url)}\" x=\"14\" y=\"12\" width=\"22\" height=\"22\" style=\"filter: brightness(0) invert(1);\" />`;\n\nconst normalizeInnerSvg = (svg: string): string => {\n const trimmedSvg = svg.trim();\n\n if (SVG_ROOT_PATTERN.test(trimmedSvg)) {\n let normalizedSvg = updateSvgAttribute(trimmedSvg, \"x\", \"14\");\n normalizedSvg = updateSvgAttribute(normalizedSvg, \"y\", \"12\");\n normalizedSvg = updateSvgAttribute(normalizedSvg, \"width\", \"22\");\n normalizedSvg = updateSvgAttribute(normalizedSvg, \"height\", \"22\");\n\n if (!/\\spreserveAspectRatio=\"/i.test(normalizedSvg)) {\n normalizedSvg = normalizedSvg.replace(\n /<svg\\b/i,\n `<svg preserveAspectRatio=\"xMidYMid meet\"`,\n );\n }\n\n return normalizedSvg;\n }\n\n return `<g transform=\"translate(14 12)\">${trimmedSvg}</g>`;\n};\n\nconst resolveInnerIcon = ({\n innerSvg,\n innerUrl,\n}: DefaultMarkerInnerIconOptions): string => {\n const trimmedInnerSvg = innerSvg?.trim();\n const trimmedInnerUrl = innerUrl?.trim();\n\n if (trimmedInnerSvg) {\n if (SVG_MARKUP_PATTERN.test(trimmedInnerSvg)) {\n return normalizeInnerSvg(trimmedInnerSvg);\n }\n\n return createImageTag(trimmedInnerSvg);\n }\n\n if (trimmedInnerUrl) {\n return createImageTag(trimmedInnerUrl);\n }\n\n return \"\";\n};\n\nconst createDefaultMarkerSvg = (\n color: string,\n innerIconOptions: DefaultMarkerInnerIconOptions = {},\n) => `<svg\n width=\"50\"\n height=\"62\"\n viewBox=\"0 0 50 62\"\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 />\n <g clip-path=\"url(#clip0_367_31358)\">\n ${resolveInnerIcon(innerIconOptions)}\n </g>\n <defs>\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\n ? this.applyColorToCustomSvg(this.props.svg)\n : createDefaultMarkerSvg(\n this.props.color ?? \"#278960\",\n {\n innerSvg: this.props.innerSvg,\n innerUrl: this.props.innerUrl,\n },\n );\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: ReturnType<typeof setTimeout>;\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\";\nimport type {\n ISearchByLocationParam,\n ISearchParam,\n ISearchResponse,\n} from \"@app/types\";\n\nexport const searchPost = async (\n params: ISearchParam,\n): Promise<ISearchResponse> => {\n try {\n const response = await api.post(\"services/getAddress\", null, {\n params,\n });\n return response.data;\n } catch (error) {\n console.error(\"Error while searching address:\", error);\n throw error;\n }\n};\n\nexport const searchByLocationPost = async (\n params: ISearchByLocationParam,\n): Promise<ISearchResponse> => {\n try {\n const response = await api.post(\"services/getAddressByLocation\", null, {\n params,\n });\n return response.data;\n } catch (error) {\n console.error(\"Error while searching address by location:\", error);\n throw error;\n }\n};\n","import { searchByLocationPost, searchPost } from \"./api\";\nimport {\n IAdditionalParamType,\n ISearchByLocationParam,\n ISearchParam,\n ISearchResponse,\n} from \"@app/types/index\";\nimport { debounce, getApiKey } from \"@app/lib\";\n// import { checkCoordinates } from \"@app/lib/index\";\r\n// import { REGEX } from \"@app/config\";\r\n\r\nasync function getSearch(\n param: string,\n token: string,\n additionalParam?: IAdditionalParamType,\n): Promise<ISearchResponse> {\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 {\n const res: ISearchResponse = await searchPost(searchData);\n return res;\n } catch (error) {\n throw error;\n }\n}\n\r\nconst debouncedFn = debounce(getSearch, 500);\r\n\r\nasync function Search(\n param: string,\n token: string,\n additionalParam?: IAdditionalParamType,\n): Promise<ISearchResponse> {\n return await debouncedFn(param, token, additionalParam);\n}\n\nasync function SearchByLocation(\n params: ISearchByLocationParam,\n): Promise<ISearchResponse> {\n const searchData: ISearchByLocationParam = {\n ...params,\n token: params.token ? params.token : getApiKey(),\n };\n\n try {\n const res: ISearchResponse = await searchByLocationPost(searchData);\n return res;\n } catch (error) {\n throw error;\n }\n}\n\nexport { Search, SearchByLocation };\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","export * from \"./debounce\";\r\n","// Lib\nimport { MahalMap } from \"@lib/map\";\nimport { Search, SearchByLocation } from \"@lib/search\";\nimport { Router } from \"@lib/routing\";\nimport { MahalMapDefaultMarker } from \"@lib/controller\";\n\r\n// utils\r\nimport * as keyUtils from \"@app/lib/saveKey\";\r\nimport * as utils from \"@app/utils\";\r\n\r\nexport {\n MahalMap,\n Search,\n SearchByLocation,\n Router,\n keyUtils,\n MahalMapDefaultMarker,\n utils,\n};\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","SVG_ROOT_PATTERN","SVG_MARKUP_PATTERN","updateSvgAttribute","svg","attribute","value","attributePattern","escapeSvgAttribute","createImageTag","url","normalizeInnerSvg","trimmedSvg","normalizedSvg","resolveInnerIcon","innerSvg","innerUrl","trimmedInnerSvg","trimmedInnerUrl","createDefaultMarkerSvg","color","innerIconOptions","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","searchByLocationPost","getSearch","param","token","additionalParam","searchData","getApiKey","searchPost","error","debouncedFn","debounce","Search","SearchByLocation","params","searchByLocationPost","routingApi","param","token","points","e","api","getApiKey","err","Router","param","typeData","token","res","routingApi","route","updated","r","geojsonPolyline","error","utils_exports","__export","debounce","loadKeyFromScriptUrl","scripts","script","apikey","saveKey"]}
|