实现飞到定位点的动画效果

master
叶志超 2022-04-08 15:02:44 +08:00
parent 4dc89128da
commit 0050d45110
2 changed files with 22 additions and 1 deletions

View File

@ -26,7 +26,9 @@
<script setup>
import { usePointStore } from '/@/stores/point'
import { usePositionStore } from '/@/stores/position'
import { VcViewer, VcStatusBar, VcLayerImagery, VcImageryProviderUrltemplate } from 'vue-cesium'
import { isLnglat } from '/@/api/util';
const projectionTransforms = { from : 'GCJ02', to : 'WGS84' }
@ -66,4 +68,24 @@ const cartesian2Lonlat = cartesian => {
return { lng, lat }
}
const position = usePositionStore()
position.$subscribe((_, state) => {
// import { MutationType } from 'pinia'
// mutation.type // 'direct' | 'patch object' | 'patch function'
// same as cartStore.$id
// mutation.storeId // 'cart'
// only available with mutation.type === 'patch object'
// mutation.payload // patch object passed to cartStore.$patch()
// statestatelocalStorage
// localStorage.setItem('cart', JSON.stringify(state))
if ( !isLnglat(state) ) return
viewer.camera.flyTo({
destination : Cesium.Cartesian3.fromDegrees(state.lng, state.lat, 2000)
});
})
</script>

View File

@ -6,6 +6,5 @@
import Pin from '/@/components/Pin.vue'
import { usePositionStore } from '/@/stores/position'
const position = usePositionStore()
</script>