From 27d237bfc035b39144946f1941c0896dfe7bd434 Mon Sep 17 00:00:00 2001 From: Sacha Weatherstone Date: Mon, 9 May 2022 20:42:30 +1000 Subject: [PATCH] move to arcGIS --- index.html | 4 ++ src/App.tsx | 4 +- src/pages/map/index.tsx | 126 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 132 insertions(+), 2 deletions(-) create mode 100644 src/pages/map/index.tsx diff --git a/index.html b/index.html index 84669a9f..7fc38b8b 100644 --- a/index.html +++ b/index.html @@ -17,6 +17,10 @@ rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@xz/fonts@1/serve/cascadia-code.min.css" /> + {
{route.name === 'messages' && } - {route.name === 'map' && } + {route.name === 'map' && } {route.name === 'extensions' && } {route.name === false && }
diff --git a/src/pages/map/index.tsx b/src/pages/map/index.tsx new file mode 100644 index 00000000..dd1919aa --- /dev/null +++ b/src/pages/map/index.tsx @@ -0,0 +1,126 @@ +import type React from 'react'; +import { useEffect, useRef, useState } from 'react'; + +import mapboxgl from 'mapbox-gl'; +import { FiMapPin } from 'react-icons/fi'; +import { RiRoadMapLine } from 'react-icons/ri'; + +import { Layout } from '@components/layout'; +import { MapboxProvider } from '@components/MapBox/MapboxProvider'; +import { useAppSelector } from '@hooks/useAppSelector'; +import type { Protobuf } from '@meshtastic/meshtasticjs'; +import { MapContainer } from '@app/pages/Map_old/MapContainer'; +import { Marker } from '@app/pages/Map_old/Marker'; +import { NodeCard } from '@pages/Nodes/NodeCard'; + +// + +import WebMap from '@arcgis/core/WebMap'; +import Map from '@arcgis/core/Map'; +import WebScene from '@arcgis/core/WebScene'; +import SceneView from '@arcgis/core/views/SceneView'; + +export const MapPage = (): JSX.Element => { + const ref = useRef(null); + + useEffect(() => { + if (ref.current) { + const map = new Map({ + basemap: 'arcgis-topographic', + ground: 'world-elevation', + }); + + const scene = new SceneView({ + container: ref.current, + map: map, + camera: { + position: { + x: -118.808, //Longitude + y: 33.961, //Latitude + z: 2000, //Meters + }, + tilt: 75, + }, + }); + } + }, []); + + return ( + } + sidebarContents={
} + > +
+
+ ); + + // const [selectedNode, setSelectedNode] = useState(); + + // const nodes = useAppSelector((state) => state.meshtastic.nodes); + // const myNodeNum = useAppSelector( + // (state) => state.meshtastic.radio.hardware.myNodeNum, + // ); + + // return ( + // + // {nodes.map((node) => { + // return ( + // node.data.position && ( + // + //
{ + // setSelectedNode(node.data); + // }} + // className={`z-50 rounded-full border-2 bg-opacity-30 ${ + // node.data.num === selectedNode?.num + // ? 'border-green-500 bg-green-500' + // : 'border-blue-500 bg-blue-500' + // }`} + // > + //
+ // + //
+ //
+ //
+ // ) + // ); + // })} + // } + // sidebarContents={ + //
+ // {!nodes.length && ( + // + // No nodes found. + // + // )} + + // {nodes.map((node) => ( + // { + // setSelectedNode(node.data); + // }} + // /> + // ))} + //
+ // } + // > + // + //
+ //
+ // ); +};