This commit is contained in:
Ota Prokopec 2023-03-19 13:32:53 +01:00
parent b4df394e29
commit e629d598d4
2 changed files with 10 additions and 4 deletions

View File

@ -1,4 +1,4 @@
<script>
<script lang="ts">
import GeolocateControl from '@beyonk/svelte-mapbox/src/lib/map/controls/GeolocateControl.svelte'
import Map from './Map.svelte'
import { navigate } from 'svelte-routing'
@ -11,6 +11,8 @@
export let mapComponent = null
export let user = { lat: null, lng: null }
$: console.log(user)
let className = ''
export { className as class }
/*;(() => {
@ -20,7 +22,7 @@
})
})
})()*/
navigator.geolocation.getCurrentPosition((e) => {})
navigator.geolocation.getCurrentPosition((e) => {}) //at mapbox this is required dont know why
/* if (navigator.geolocation) {
navigator.geolocation.watchPosition(showPosition, () => dispatch('locationFailed'))
@ -34,16 +36,20 @@
}*/
const userCenter = () => {
// @ts-ignore
document.getElementsByClassName('mapboxgl-ctrl-geolocate')[0].click()
}
</script>
<NavigationBarLayout>
{#if center}
<Map on:ready={() => setTimeout(() => setInterval(() => userCenter(), 1000), 100)} {center} bind:mapComponent class={className} on:move>
<Map on:ready={() => setTimeout(() => userCenter(), 100)} {center} bind:mapComponent class={className} on:move>
<slot />
<GeolocateControl
options={{ trackUserLocation: true }}
on:trackuserlocationstart={() => {}}
on:geolocate={(e) => {
// @ts-ignore
const { latitude, longitude } = e.detail.coords
user = { lat: latitude, lng: longitude }
}}

View File

@ -10,7 +10,6 @@
export let radius = false
export let center: { lng: number; lat: number } = { lng: 0, lat: 0 }
$: console.log(center)
/*export const geo = (e) => {
geolocateControl.dispatchEvent('geolocate')
@ -37,6 +36,7 @@
mapComponent.setCenter([center.lng, center.lat], 14)
dispatch('ready')
}}
on:recentre={(e) => {}}
zoom={14}
>
<slot />