diff --git a/src/views/home/components/box-2.vue b/src/views/home/components/box-2.vue index ddb40be..5406bb8 100644 --- a/src/views/home/components/box-2.vue +++ b/src/views/home/components/box-2.vue @@ -141,7 +141,7 @@ let emit = defineEmits(['switch-spot']) - const { map, initMap, addMarker } = useMap() + const { map, initMap, addMarker, clearOverlays } = useMap() let spotList = ref([]) @@ -169,6 +169,7 @@ () => [map.value, homeStore.carShipData], () => { if (map.value && homeStore.carShipData) { + clearOverlays() homeStore.carShipData?.car?.list.map((item) => { if (item.lng && item.lat) { addMarker(carIcon, [item.lng, item.lat], [36, 50]) diff --git a/src/views/scenic/components/box-2.vue b/src/views/scenic/components/box-2.vue index c87a4c7..3bcaeb2 100644 --- a/src/views/scenic/components/box-2.vue +++ b/src/views/scenic/components/box-2.vue @@ -326,7 +326,7 @@ import PubSub from 'pubsub-js' const scenicStore = useScenicStore() - const { initMap, addMarker } = useMap() + const { initMap, addMarker, clearOverlays } = useMap() const garageList = computed(() => { return scenicStore.stopCarData.headList @@ -383,20 +383,19 @@ watch( () => scenicStore.carShipData, (val) => { - if (val.car.list.length) { - setTimeout(() => { + setTimeout(() => { + clearOverlays() + if (val.car.list.length) { val.car.list.map((item) => { addMarker(carIcon, [item.lng, item.lat], [36, 50]) }) - }, 1000) - } - if (val.ship.list.length) { - setTimeout(() => { + } + if (val.ship.list.length) { val.ship.list.map((item) => { addMarker(shipIcon, [item.lng, item.lat], [36, 50]) }) - }, 1000) - } + } + }, 1000) }, { immediate: true } )