UNPKG

myreact-geopackage

Version:

A simple React component library that integrates with MapmyIndia maps and displays real-time vehicle tracking via WebSocket.

23 lines (22 loc) 22.5 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("react");function ce(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var A={exports:{}},j={};/** * @license React * react-jsx-runtime.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var X;function le(){if(X)return j;X=1;var n=Symbol.for("react.transitional.element"),s=Symbol.for("react.fragment");function r(e,t,o){var p=null;if(o!==void 0&&(p=""+o),t.key!==void 0&&(p=""+t.key),"key"in t){o={};for(var d in t)d!=="key"&&(o[d]=t[d])}else o=t;return t=o.ref,{$$typeof:n,type:e,key:p,ref:t!==void 0?t:null,props:o}}return j.Fragment=s,j.jsx=r,j.jsxs=r,j}var M={};/** * @license React * react-jsx-runtime.development.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var Z;function xe(){return Z||(Z=1,process.env.NODE_ENV!=="production"&&function(){function n(a){if(a==null)return null;if(typeof a=="function")return a.$$typeof===ae?null:a.displayName||a.name||null;if(typeof a=="string")return a;switch(a){case m:return"Fragment";case b:return"Profiler";case c:return"StrictMode";case D:return"Suspense";case te:return"SuspenseList";case oe:return"Activity"}if(typeof a=="object")switch(typeof a.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),a.$$typeof){case C:return"Portal";case O:return(a.displayName||"Context")+".Provider";case L:return(a._context.displayName||"Context")+".Consumer";case I:var i=a.render;return a=a.displayName,a||(a=i.displayName||i.name||"",a=a!==""?"ForwardRef("+a+")":"ForwardRef"),a;case ne:return i=a.displayName||null,i!==null?i:n(a.type)||"Memo";case $:i=a._payload,a=a._init;try{return n(a(i))}catch{}}return null}function s(a){return""+a}function r(a){try{s(a);var i=!1}catch{i=!0}if(i){i=console;var h=i.error,w=typeof Symbol=="function"&&Symbol.toStringTag&&a[Symbol.toStringTag]||a.constructor.name||"Object";return h.call(i,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",w),s(a)}}function e(a){if(a===m)return"<>";if(typeof a=="object"&&a!==null&&a.$$typeof===$)return"<...>";try{var i=n(a);return i?"<"+i+">":"<...>"}catch{return"<...>"}}function t(){var a=_.A;return a===null?null:a.getOwner()}function o(){return Error("react-stack-top-frame")}function p(a){if(z.call(a,"key")){var i=Object.getOwnPropertyDescriptor(a,"key").get;if(i&&i.isReactWarning)return!1}return a.key!==void 0}function d(a,i){function h(){H||(H=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",i))}h.isReactWarning=!0,Object.defineProperty(a,"key",{get:h,configurable:!0})}function f(){var a=n(this.type);return K[a]||(K[a]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),a=this.props.ref,a!==void 0?a:null}function y(a,i,h,w,R,k,Y,G){return h=k.ref,a={$$typeof:S,type:a,key:i,props:k,_owner:R},(h!==void 0?h:null)!==null?Object.defineProperty(a,"ref",{enumerable:!1,get:f}):Object.defineProperty(a,"ref",{enumerable:!1,value:null}),a._store={},Object.defineProperty(a._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(a,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(a,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:Y}),Object.defineProperty(a,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:G}),Object.freeze&&(Object.freeze(a.props),Object.freeze(a)),a}function l(a,i,h,w,R,k,Y,G){var P=i.children;if(P!==void 0)if(w)if(se(P)){for(w=0;w<P.length;w++)u(P[w]);Object.freeze&&Object.freeze(P)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else u(P);if(z.call(i,"key")){P=n(a);var E=Object.keys(i).filter(function(ie){return ie!=="key"});w=0<E.length?"{key: someKey, "+E.join(": ..., ")+": ...}":"{key: someKey}",B[P+w]||(E=0<E.length?"{"+E.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX: let props = %s; <%s {...props} /> React keys must be passed directly to JSX without using spread: let props = %s; <%s key={someKey} {...props} />`,w,P,E,P),B[P+w]=!0)}if(P=null,h!==void 0&&(r(h),P=""+h),p(i)&&(r(i.key),P=""+i.key),"key"in i){h={};for(var W in i)W!=="key"&&(h[W]=i[W])}else h=i;return P&&d(h,typeof a=="function"?a.displayName||a.name||"Unknown":a),y(a,P,k,R,t(),h,Y,G)}function u(a){typeof a=="object"&&a!==null&&a.$$typeof===S&&a._store&&(a._store.validated=1)}var g=v,S=Symbol.for("react.transitional.element"),C=Symbol.for("react.portal"),m=Symbol.for("react.fragment"),c=Symbol.for("react.strict_mode"),b=Symbol.for("react.profiler"),L=Symbol.for("react.consumer"),O=Symbol.for("react.context"),I=Symbol.for("react.forward_ref"),D=Symbol.for("react.suspense"),te=Symbol.for("react.suspense_list"),ne=Symbol.for("react.memo"),$=Symbol.for("react.lazy"),oe=Symbol.for("react.activity"),ae=Symbol.for("react.client.reference"),_=g.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,z=Object.prototype.hasOwnProperty,se=Array.isArray,F=console.createTask?console.createTask:function(){return null};g={"react-stack-bottom-frame":function(a){return a()}};var H,K={},U=g["react-stack-bottom-frame"].bind(g,o)(),V=F(e(o)),B={};M.Fragment=m,M.jsx=function(a,i,h,w,R){var k=1e4>_.recentlyCreatedOwnerStacks++;return l(a,i,h,!1,w,R,k?Error("react-stack-top-frame"):U,k?F(e(a)):V)},M.jsxs=function(a,i,h,w,R){var k=1e4>_.recentlyCreatedOwnerStacks++;return l(a,i,h,!0,w,R,k?Error("react-stack-top-frame"):U,k?F(e(a)):V)}}()),M}var Q;function ue(){return Q||(Q=1,process.env.NODE_ENV==="production"?A.exports=le():A.exports=xe()),A.exports}var x=ue();(function(n,s){for(var r=T,e=n();;)try{var t=parseInt(r(321))/1*(-parseInt(r(320))/2)+parseInt(r(273))/3*(parseInt(r(304))/4)+parseInt(r(249))/5*(parseInt(r(216))/6)+parseInt(r(206))/7+-parseInt(r(230))/8*(-parseInt(r(291))/9)+parseInt(r(261))/10*(-parseInt(r(309))/11)+parseInt(r(237))/12*(-parseInt(r(303))/13);if(t===s)break;e.push(e.shift())}catch{e.push(e.shift())}})(N,227264);function N(){var n=["join","mapSnapshot","map","media","3.5","error","getDistance","head","&v=","Please! Pass InfoWindow position","Please! Pass Map id (Map Container div) for traffic Layer","123877LlwhOb","892JSaXHg","prototype","pin","Please! Pass Map id (Map Container div) for Polygon","Please! Pass polygon path","716936syRnli","Please! Pass Map id (Map Container div) or location and callback both","Error in loading snapshot:","includes","getPinDetails","trackingTimeline","Please! Pass map id and layer","Marker","Check if mapSdkLibraries : ['geoAnalytics'] is included inside loadScripts","tracking","geoAnalytics","164tQaker","1681mMEWcM","KmlLayer","libraries","Please! Pass Map id (Map Container div) for polyline","Please! Pass coordinates","https://apis.mappls.com/advancedmaps/api/","Please! Pass pin","1755439vAZGHz","Please! Pass Valid Style","Please! Pass Polyline path","length","href","mappls","Circle","version","data","getElementsByTagName","1714248DARJlv","position","Please! Pass Map id (Map Container div) for HeatmapLayer","keywords","&v=3.0","routeSummary","Please! Pass circle center","pinMarker","Please! Pass geoJson data","x-sec2","search","cssId","Please! Pass callback method","Please! Pass Map id (Map Container div) for Circle","40UlHZXB","An error occurred:","fitBounds"," | ","string","initialize","async","252ElarVR","Error drawing polygon:","Please! Pass Map id (Map Container div)","paths","Please! Pass HeatmapLayer data","setStyle","Props are not defined.","HeatmapLayer","onload","Snapshot is not defined on window.mappls","Please! Pass Map id (Map Container div) for InfoWindow","Check if mapSdkLibraries : ['kml'] is included inside loadScripts","5InGJdI","url","polygonDraw","text/css","layers","Polygon","createElement","src","function","Please! Pass bounds or Layers","nearby","&libraries=","20GYfNZq","getnearBySearch","script","Please! Enter inputQuery or HTML search box id","Please! Pass marker position","direction","Polyline","placePicker","routeId","plugins","addGeoJson","removeLayer","717dmSuxK","hyperLink","Please! Pass Map id (Map Container div) for marker","appendChild","center","push","path","stylesheet","/map_sdk?","type","InfoWindow","polygonDraw is not defined on window.mappls","rel","https://apis.mapmyindia.com/vector_map/assets/v3.5/mappls-glob.css","traffic","https://apis.mappls.com/advancedmaps/vapi/","layer","airspaceLayer","190413XbttMt"];return N=function(){return n},N()}var de=function(){var n=T;function s(){}return s[n(305)][n(235)]=function(r,e,t){var o=n;t===void 0&&(t=function(){});var p="",d="layer=vector",f=o(220);typeof e==o(257)&&(t=e,e={});try{if(r){var y=[],l=[],u=0,g=0;e[o(323)]&&Array.isArray(e[o(323)])&&(p=o(260)+e[o(323)][o(292)](),e[o(323)][o(312)]("polydraw")&&l.push("https://apis.mappls.com/vector_map/assets/polydraw/raw.css")),e[o(289)]&&typeof e[o(289)]===o(234)&&(d="layer="+e[o(289)]),e.version&&(f=o(300)+e[o(213)],e[o(213)][o(312)](o(296))&&l.push(o(286))),e[o(294)]===!0&&e[o(225)]===!0?y[o(278)](o(204)+r+o(281)+d+f+"&x-sec2"+p):e[o(294)]!==!1&&e[o(294)]!==void 0&&e[o(294)]!==""&&y[o(278)](o(204)+r+o(281)+d+f+p),e[o(270)]&&((e[o(270)]===!0||e[o(270)][o(209)]===0)&&y.push("https://apis.mappls.com/advancedmaps/api/"+r+"/map_sdk_plugins?v=3.0"),e.plugins[o(312)](o(262))?y[o(278)](o(288)+r+"/nearbyRecordFinder?v=3.0"):y[o(278)](o(204)+r+"/map_sdk_plugins?v=3.0&libraries="+e[o(270)].join()));var S=function(m){var c=o;if(u<m[c(209)]){var b=document[c(255)](c(263));b[c(256)]=m[u],b[c(236)]=!0,b[c(282)]="text/javascript",document[c(215)](c(299))[0][c(276)](b),u=u+1,b[c(245)]=function(){S(m)}}else return t()};S(y);var C=function(m){var c=o;if(g<m.length){var b=document[c(255)]("link");b.id=c(227)+g,b[c(285)]=c(280),b.type=c(252),b[c(210)]=m[g],b[c(295)]="all",document.getElementsByTagName(c(299))[0].appendChild(b),g++}};C(l)}else console.log("Please! pass a token inside initialize()")}catch(m){console[o(297)](String(m))}},s.prototype.Map=function(r){var e=n;try{return r.id?window.mappls.Map(r.id,r.properties):(console[e(297)](e(239)),!1)}catch(t){console.error(String(t))}},s[n(305)][n(316)]=function(r){var e=n;try{return r.map?r[e(217)]?window[e(211)][e(316)](r):(console[e(297)](e(265)),!1):(console[e(297)]("Please! Pass Map id (Map Container div) for marker"),!1)}catch(t){console[e(297)](String(t))}},s[n(305)][n(232)]=function(r){var e=n;try{return r[e(294)]?r.bounds||r[e(253)]?window[e(211)].fitBounds(r):(console.error(e(258)),!1):(console.error(e(239)),!1)}catch(t){console[e(297)](String(t))}},s[n(305)][n(283)]=function(r){var e=n;try{return r.map?r[e(217)]?window[e(211)][e(283)](r):(console[e(297)](e(301)),!1):(console[e(297)](e(247)),!1)}catch(t){console[e(297)](String(t))}},s[n(305)].Polyline=function(r){var e=n;try{return r[e(294)]?r[e(279)]||r.paths?window[e(211)][e(267)](r):(console[e(297)](e(208)),!1):(console[e(297)](e(202)),!1)}catch(t){console[e(297)](String(t))}},s.prototype[n(254)]=function(r){var e=n;try{return r[e(294)]?r[e(240)]?window.mappls[e(254)](r):(console.error(e(308)),!1):(console[e(297)](e(307)),!1)}catch(t){console.error(String(t))}},s[n(305)][n(212)]=function(r){var e=n;try{return r[e(294)]?r[e(277)]?window[e(211)][e(212)](r):(console[e(297)](e(222)),!1):(console[e(297)](e(229)),!1)}catch(t){console[e(297)](String(t))}},s[n(305)].HeatmapLayer=function(r){var e=n;try{return r[e(294)]?r[e(214)]?window[e(211)][e(244)](r):(console.error(e(241)),!1):(console[e(297)](e(218)),!1)}catch(t){console[e(297)](String(t))}},s[n(305)][n(271)]=function(r){var e=n;try{return r[e(294)]?r[e(214)]?window[e(211)].addGeoJson(r):(console.error(e(224)),!1):(console[e(297)]("Please! Pass Map id (Map Container div) for addGeoJson"),!1)}catch(t){console.error(String(t))}},s[n(305)][n(322)]=function(r){var e=n;try{return r[e(294)]?r[e(250)]?window[e(211)].KmlLayer(r):(console[e(297)]("Please! Pass KmlLayer url"),!1):(console[e(297)]("Please! Pass Map id (Map Container div) for KmlLayer"),!1)}catch(t){console[e(297)](String(t)+" | "+e(248))}},s[n(305)][n(272)]=function(r){var e=n;try{r[e(294)]&&r[e(289)]?window[e(211)].remove({map:r.map,layer:r[e(289)]}):console[e(297)](e(315))}catch(t){console.error(String(t))}},s[n(305)][n(242)]=function(r){var e=n;try{r?window[e(211)][e(242)](r):console[e(297)](e(207))}catch(t){console.error(String(t))}},s[n(305)][n(287)]=function(r){var e=n;try{r?window.mappls[e(287)]({map:r[e(294)]}):console[e(297)](e(302))}catch(t){console.error(String(t))}},s[n(305)].polydraw=function(r,e){var t=n;e===void 0&&(e=function(){});try{return r?window.mappls[t(251)](r,e):(console[t(297)](t(284)),!1)}catch(o){return console.error(t(238),o),!1}},s.prototype.mapSnapshot=function(r,e){var t=n;e===void 0&&(e=function(){});try{return r?window[t(211)][t(293)](r,e):(console[t(297)](t(246)),!1)}catch(o){return console.error(t(311),o),!1}},s[n(305)][n(290)]=function(r){var e=n;try{return r?window.mappls.airspaceLayer(r):(console[e(297)]("Please! Pass Map id (Map Container div)"),!1)}catch(t){console[e(297)](String(t))}},s[n(305)][n(319)]=function(){var r=n;try{return window[r(319)]}catch(e){console[r(297)](String(e)+r(233)+r(317))}},s}();(function(){var n=T;function s(){}return s[n(305)].direction=function(r,e){var t=n;e===void 0&&(e={});try{return r[t(294)]?window[t(211)][t(266)](r,e):(console[t(297)](t(275)),!1)}catch(o){console[t(297)](String(o))}},s[n(305)][n(298)]=function(r,e){var t=n;e===void 0&&(e={});try{return r.coordinates?e?window[t(211)][t(298)](r,e):(console[t(297)](t(228)),!1):(console[t(297)](t(203)),!1)}catch(o){console[t(297)](String(o))}},s[n(305)][n(223)]=function(r,e){var t=n;e===void 0&&(e={});try{return r.map?r[t(306)]?window[t(211)][t(223)](r,e):(console[t(297)]("Please! Pass pin"),!1):(console.error(t(275)),!1)}catch(o){console[t(297)](String(o))}},s[n(305)][n(259)]=function(r,e){var t=n;e===void 0&&(e={});try{return r[t(219)]||r[t(274)]&&e?window[t(211)][t(259)](r,e):(console[t(297)]("Please! Pass keywords / hyperLink"),!1)}catch(o){console[t(297)](String(o))}},s[n(305)].getnearBySearch=function(r,e){var t=n;try{return r?window.mappls[t(262)](r,e):(console[t(297)](t(243)),!1)}catch(o){console[t(297)](t(231),o)}},s[n(305)][n(313)]=function(r,e){var t=n;e===void 0&&(e={});try{return r[t(306)]?window[t(211)][t(313)](r,e):(console[t(297)](t(205)),!1)}catch(o){console[t(297)](String(o))}},s[n(305)][n(268)]=function(r,e){var t=n;e===void 0&&(e={});try{return r.map||r.location&&e?window[t(211)][t(268)](r,e):(console[t(297)](t(310)),!1)}catch(o){console[t(297)](String(o))}},s[n(305)].search=function(r,e,t){var o=n;e===void 0&&(e={}),t===void 0&&(t={});try{if(r){if(r&&e&&t)return window[o(211)][o(226)](r,e,t)}else return console[o(297)](o(264)),!1}catch(p){console[o(297)](String(p))}},s[n(305)][n(221)]=function(r,e){var t=n;e===void 0&&(e={});try{return r[t(269)]?window[t(211)][t(221)](r,e):(console[t(297)]("Please! Pass Map id (Map Container div) for marker"),!1)}catch(o){console.error(String(o))}},s[n(305)][n(318)]=function(r,e){var t=n;e===void 0&&(e={});try{return r?window.mappls[t(318)](r,e):(console[t(297)](t(239)),!1)}catch(o){console[t(297)](String(o))}},s.prototype[n(314)]=function(r){var e=n;try{return r?window[e(211)][e(314)](r):(console[e(297)](e(239)),!1)}catch(t){console[e(297)](String(t))}},s})();function T(n,s){var r=N();return T=function(e,t){e=e-202;var o=r[e];return o},T(n,s)}var J,ee;function pe(){if(ee)return J;ee=1;const n=Math.asin,s=Math.cos,r=Math.sin,e=Math.sqrt,t=Math.PI,o=6378137;function p(l){return l*l}function d(l){return l*t/180}function f(l){return p(r(l/2))}function y(l,u){const g=d(Array.isArray(l)?l[1]:l.latitude??l.lat),S=d(Array.isArray(u)?u[1]:u.latitude??u.lat),C=d(Array.isArray(l)?l[0]:l.longitude??l.lng??l.lon),m=d(Array.isArray(u)?u[0]:u.longitude??u.lng??u.lon),c=f(S-g)+s(g)*s(S)*f(m-C);return 2*o*n(e(c))}return J=y,J}var fe=pe();const re=ce(fe),me=({props:n})=>{const s=v.useRef(null);return v.useEffect(()=>{if(!(!n.map||!n.path))return s.current=n.mapplsClassObject.Polyline({map:n.map,path:n.path,strokeColor:"darkblue",strokeWidth:10,strokeOpacity:1,fitbounds:!0}),()=>{s.current&&(console.log("Polyline Removed"),n.mapplsClassObject.removeLayer({map:n.map,layer:s.current}),s.current=null)}},[n.map,n.path]),null},he=({props:n,carProperty:s,closeModal:r})=>{const[e,t]=v.useState(0),o=()=>{t(d=>Math.max(d-1,0))},p=()=>{t(d=>Math.min(d+1,s.path.length-1))};return x.jsxs(x.Fragment,{children:[x.jsxs("div",{style:{position:"absolute",top:"10px",left:"10px",backgroundColor:"white",padding:"10px",borderRadius:"5px",boxShadow:"0 0 10px rgba(0,0,0,0.5)"},children:[x.jsx("h2",{style:{color:" rgb(32, 62, 149)"},children:"Car Details"}),x.jsxs("p",{children:[x.jsx("strong",{children:"Name:"})," ",s.Car_Name]}),x.jsxs("p",{children:[x.jsx("strong",{children:"Number:"})," ",s.Car_Number]}),x.jsxs("p",{children:[x.jsx("strong",{children:"Latitude:"})," ",s.Current_LAT]}),x.jsxs("p",{children:[x.jsx("strong",{children:"Longitude:"})," ",s.Current_LNG]}),x.jsxs("p",{children:[x.jsx("strong",{children:"Speed:"})," ",s.Speed," km/h"]}),x.jsxs("p",{children:[x.jsx("strong",{children:"Distance:"})," ",s.Distance_Km," km"]}),x.jsxs("p",{children:[x.jsx("strong",{children:"⚠️Deviation detected:"})," ",s.Deviation," meters"]}),x.jsxs("div",{style:{display:"flex",gap:"10px",marginTop:"10px"},children:[x.jsx("button",{style:{backgroundColor:"#ccc",color:"black",borderRadius:"5px"},onClick:o,children:"Prev"}),x.jsx("button",{style:{backgroundColor:"#ccc",color:"black",borderRadius:"5px"},onClick:p,children:"Next"}),x.jsx("button",{style:{backgroundColor:"rgb(32, 62, 149)",color:"white",borderRadius:"5px"},onClick:r,children:"Close"})]})]}),s.path.length>0&&x.jsx(me,{props:{map:n.map,mapplsClassObject:n.mapplsClassObject,path:s.path[e]}})]})},ve=({props:n,isPolylineLoaded:s,isModalOpen:r,carProperty:e,setCarProperty:t,closeModal:o})=>{const p=v.useRef(null),d=v.useRef(null),[f,y]=v.useState(null);return v.useEffect(()=>{if(console.log(n.webSocketurl),!!n.webSocketurl)return d.current=new WebSocket(n.webSocketurl),d.current.onopen=()=>{console.log("WebSocket connected")},d.current.onmessage=l=>{const u=JSON.parse(l.data);console.log("Received location:",u),y(u)},d.current.onerror=l=>{console.error("WebSocket error:",l)},()=>{d.current.close()}},[]),v.useEffect(()=>{if(p.current&&n.mapplsClassObject.removeLayer({map:n.map,layer:p.current}),!f)return;const l=f.features[0].properties.path[0].map((g,S)=>re({lat:f.features[0].geometry.coordinates[0],lon:f.features[0].geometry.coordinates[1]},{lat:g.lat,lon:g.lng})),u=Math.min(...l);u>20?console.log("🚨🚨🚨 Deviation detected:🚨🚨🚨",u.toFixed(2),"meters"):console.log("No deviation detected"),e.Car_Name===f.features[0].properties.ModelName&&t({...e,Car_Name:f.features[0].properties.ModelName,Car_Number:f.features[0].properties.CarNumber,Current_LAT:f.features[0].geometry.coordinates[1],Current_LNG:f.features[0].geometry.coordinates[0],Speed:Math.floor(Math.random()*100)+1,path:e.path,Distance_Km:n.distanceInKm,Deviation:u.toFixed(2)}),p.current=n.mapplsClassObject.addGeoJson({map:n.map,data:f,clusters:!0,cType:0})},[f]),r&&s&&x.jsx(he,{props:{map:n.map,mapplsClassObject:n.mapplsClassObject,path:n.path},carProperty:e,closeModal:o})},ge=({setSelectedRegion:n})=>{v.useRef(null);const s=[{name:"Howrah",lat:22.5958,lng:88.2636},{name:"New Town",lat:22.5811,lng:88.4791},{name:"Salt Lake",lat:22.5792,lng:88.4145},{name:"Park Street",lat:22.5535,lng:88.3514}],r=e=>{const t=e.target.value;if(t){const[o,p]=t.split(",").map(Number);n([p,o])}console.log("Selected Region:",t)};return x.jsx("div",{style:{position:"absolute",top:10,right:50,zIndex:999},children:x.jsxs("select",{onChange:r,style:{padding:"5px",borderRadius:"5px"},children:[x.jsx("option",{value:"",children:"Select Region"}),s.map((e,t)=>x.jsx("option",{value:[e.lat,e.lng],children:e.name},t))]})})},q=new de,ye=({apikey:n,webSocketurl:s})=>{const r=v.useRef(null),[e,t]=v.useState(!1),[o,p]=v.useState(!1),[d,f]=v.useState(!1),[y,l]=v.useState({Car_Name:"",Car_Number:"",Current_LAT:"",Current_LNG:"",Speed:"",path:[],Distance_Km:"",Deviation:""}),[u,g]=v.useState([22.583485201644404,88.3372593253471]);return v.useEffect(()=>{r.current&&r.current.setCenter(u)},[u]),v.useEffect(()=>{console.log(s),q.initialize(n,{map:!0},()=>{r.current&&r.current.remove(),r.current=q.Map({id:"map",properties:{center:[22.583485201644404,88.3372593253471],zoom:11,zoomControl:!0,rotateControl:!0,rotateControlOptions:!0}}),r.current.on("load",()=>{t(!0)}),r.current.on("click",S=>{const m=r.current.queryRenderedFeatures(S.point)[0];if(m&&m.properties.isCar){console.log("isCar is true"),console.log(m);let c=m.properties.path;if(typeof c=="string")try{c=JSON.parse(c)}catch(D){console.error("Failed to parse path",D);return}if(!Array.isArray(c)||c.length<2)return;const b={lat:c[0][0].lat,lon:c[0][0].lng},L={lat:c[0][c[0].length-1].lat,lon:c[0][c[0].length-1].lng},O=re(b,L),I=O/1e3;p(!0),f(!0),l({Car_Name:m.properties.ModelName,Car_Number:m.properties.CarNumber,Current_LAT:m.geometry.coordinates[1],Current_LNG:m.geometry.coordinates[0],Speed:Math.floor(Math.random()*100)+1,path:c,Distance_Km:I.toFixed(2),Deviation:O.toFixed(2)})}})})},[]),x.jsx("div",{style:{display:"flex",justifyContent:"right",alignItems:"center",height:"100vh"},children:x.jsxs("div",{id:"map",style:{top:"3%",width:"78%",height:"78vh",backgroundColor:"#f0f0f0",border:"3px solid rgb(32, 62, 149)",borderRadius:"8px"},children:[e&&x.jsx(ve,{props:{map:r.current,position:r.current.getCenter(),mapplsClassObject:q,path:y.path,distanceInKm:y.Distance_Km,webSocketurl:s},isPolylineLoaded:d,isModalOpen:e,carProperty:y,setCarProperty:l,closeModal:()=>{p(!1),f(!1)}}),e&&x.jsx(ge,{setSelectedRegion:g})]})})};exports.Geomap=ye;