From 29cfebe27d6c17b1286df45645b1ab2895847819 Mon Sep 17 00:00:00 2001 From: evlist Date: Fri, 25 Nov 2022 16:13:05 +0100 Subject: [PATCH] Looking promising ! --- .../android/app/src/main/AndroidManifest.xml | 6 ++-- .../app/src/main/assets/capacitor.config.json | 4 +-- solid/capacitor.config.ts | 4 +-- solid/src/components/map/Map.tsx | 29 +++++++++++++++---- solid/src/index.tsx | 4 +-- 5 files changed, 34 insertions(+), 13 deletions(-) diff --git a/solid/android/app/src/main/AndroidManifest.xml b/solid/android/app/src/main/AndroidManifest.xml index 427dafd..fa896b9 100644 --- a/solid/android/app/src/main/AndroidManifest.xml +++ b/solid/android/app/src/main/AndroidManifest.xml @@ -1,6 +1,6 @@ + package="com.dyomedea.solid"> + android:launchMode="singleTask" + android:exported="true"> + diff --git a/solid/android/app/src/main/assets/capacitor.config.json b/solid/android/app/src/main/assets/capacitor.config.json index 0da7323..5540514 100644 --- a/solid/android/app/src/main/assets/capacitor.config.json +++ b/solid/android/app/src/main/assets/capacitor.config.json @@ -1,6 +1,6 @@ { - "appId": "com.example.app", - "appName": "capacitor-solid-template", + "appId": "com.dyomedea.solid", + "appName": "solid-ol", "webDir": "dist", "bundledWebRuntime": false } diff --git a/solid/capacitor.config.ts b/solid/capacitor.config.ts index d3dd679..baff8d5 100644 --- a/solid/capacitor.config.ts +++ b/solid/capacitor.config.ts @@ -1,8 +1,8 @@ import { CapacitorConfig } from '@capacitor/cli'; const config: CapacitorConfig = { - appId: 'com.example.app', - appName: 'capacitor-solid-template', + appId: 'com.dyomedea.solid', + appName: 'solid-ol', webDir: 'dist', bundledWebRuntime: false, }; diff --git a/solid/src/components/map/Map.tsx b/solid/src/components/map/Map.tsx index 00feaca..38e044d 100644 --- a/solid/src/components/map/Map.tsx +++ b/solid/src/components/map/Map.tsx @@ -1,5 +1,10 @@ -import { Component, createSignal, onMount } from 'solid-js'; -import { useParams, useNavigate } from '@solidjs/router'; +import { Component, createEffect, createSignal, onMount } from 'solid-js'; +import { + useParams, + useNavigate, + useRouteData, + useBeforeLeave, +} from '@solidjs/router'; import OlMap from 'ol/Map'; import View from 'ol/View'; import TileLayer from 'ol/layer/Tile'; @@ -19,8 +24,18 @@ import './Map.css'; const Map: Component = () => { const [getMap, setMap] = createSignal(null); const params = useParams(); + const [state, setState] = createSignal(params); + createEffect(() => { + setState(params); + const map = getMap(); + const view = map?.getView(); + view?.setCenter([+state().lon, +state().lat]); + view?.setRotation(+state().rotation); + view?.setZoom(+state().zoom); + }); const navigate = useNavigate(); let target: HTMLDivElement; + console.log({ caller: 'Map', center: params.center }); onMount(() => { olUseGeographic(); @@ -46,9 +61,9 @@ const Map: Component = () => { const olMap = new OlMap({ view: new View({ - center: [+params.lon, +params.lat], - zoom: +params.zoom, - rotation: +params.rotation, + center: [+state().lon, +state().lat], + zoom: +state().zoom, + rotation: +state().rotation, }), layers: [ new TileLayer({ @@ -63,6 +78,10 @@ const Map: Component = () => { setMap(olMap); }); + useBeforeLeave((event) => { + console.log({ caller: 'Map / useBeforeLeave', event }); + }); + // @ts-ignore return
; }; diff --git a/solid/src/index.tsx b/solid/src/index.tsx index fb3883c..e77a4e9 100644 --- a/solid/src/index.tsx +++ b/solid/src/index.tsx @@ -2,10 +2,10 @@ import { render } from 'solid-js/web'; import { Router, hashIntegration } from '@solidjs/router'; import App from './App'; - +//source={hashIntegration()} render( () => ( - + ),