From 64dfb480dc392b3fafd831f79bd29153f035942e Mon Sep 17 00:00:00 2001 From: lyf <2514544224@qq.com> Date: Thu, 9 Jul 2026 00:07:47 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0=E6=9D=A5=E9=A6=86=E7=AC=AC?= =?UTF-8?q?=E4=B8=89=E6=96=B9=E5=9C=B0=E5=9B=BE=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/navigation/ArrivalPanel.vue | 439 +++++++++++++++++++++ src/data/arrivalSearchTargets.ts | 89 +++++ src/pages/index/index.vue | 267 ++----------- src/services/ThirdPartyMapSearchService.ts | 57 +++ 4 files changed, 616 insertions(+), 236 deletions(-) create mode 100644 src/components/navigation/ArrivalPanel.vue create mode 100644 src/data/arrivalSearchTargets.ts create mode 100644 src/services/ThirdPartyMapSearchService.ts diff --git a/src/components/navigation/ArrivalPanel.vue b/src/components/navigation/ArrivalPanel.vue new file mode 100644 index 0000000..607c678 --- /dev/null +++ b/src/components/navigation/ArrivalPanel.vue @@ -0,0 +1,439 @@ + + + + + diff --git a/src/data/arrivalSearchTargets.ts b/src/data/arrivalSearchTargets.ts new file mode 100644 index 0000000..8afc9f0 --- /dev/null +++ b/src/data/arrivalSearchTargets.ts @@ -0,0 +1,89 @@ +export type ArrivalTargetGroup = 'venue' | 'transit' | 'realtime' +export type ArrivalRealtimeKind = 'bus' | 'parking' + +export interface ArrivalSearchTarget { + id: string + title: string + keyword: string + region: string + group: ArrivalTargetGroup + realtimeKind?: ArrivalRealtimeKind +} + +export const ARRIVAL_SEARCH_REGION = '深圳市' + +export const ARRIVAL_SEARCH_TARGETS: ArrivalSearchTarget[] = [ + { + id: 'shenzhen-natural-history-museum', + title: '深圳自然博物馆', + keyword: '深圳自然博物馆', + region: ARRIVAL_SEARCH_REGION, + group: 'venue' + }, + { + id: 'shabo-station-exit-d', + title: '沙壆站 D口', + keyword: '沙壆站D口', + region: ARRIVAL_SEARCH_REGION, + group: 'transit' + }, + { + id: 'natural-museum-west-station', + title: '自然博物馆西站', + keyword: '自然博物馆西站', + region: ARRIVAL_SEARCH_REGION, + group: 'transit' + }, + { + id: 'museum-bus-stop', + title: '深圳自然博物馆 公交站', + keyword: '深圳自然博物馆 公交站', + region: ARRIVAL_SEARCH_REGION, + group: 'realtime', + realtimeKind: 'bus' + }, + { + id: 'shabo-metro-bus-stop', + title: '沙壆地铁站 公交站', + keyword: '沙壆地铁站 公交站', + region: ARRIVAL_SEARCH_REGION, + group: 'realtime', + realtimeKind: 'bus' + }, + { + id: 'natural-museum-west-bus-stop', + title: '自然博物馆西 公交站', + keyword: '自然博物馆西 公交站', + region: ARRIVAL_SEARCH_REGION, + group: 'realtime', + realtimeKind: 'bus' + }, + { + id: 'museum-parking', + title: '深圳自然博物馆 停车场', + keyword: '深圳自然博物馆 停车场', + region: ARRIVAL_SEARCH_REGION, + group: 'realtime', + realtimeKind: 'parking' + }, + { + id: 'pingshan-cultural-cluster-parking', + title: '坪山文化聚落 停车场', + keyword: '坪山文化聚落 停车场', + region: ARRIVAL_SEARCH_REGION, + group: 'realtime', + realtimeKind: 'parking' + }, + { + id: 'yanzi-lake-area-parking', + title: '燕子湖片区 停车场', + keyword: '燕子湖片区 停车场', + region: ARRIVAL_SEARCH_REGION, + group: 'realtime', + realtimeKind: 'parking' + } +] + +export const ARRIVAL_VENUE_TARGETS = ARRIVAL_SEARCH_TARGETS.filter((target) => target.group === 'venue') +export const ARRIVAL_TRANSIT_TARGETS = ARRIVAL_SEARCH_TARGETS.filter((target) => target.group === 'transit') +export const ARRIVAL_REALTIME_TARGETS = ARRIVAL_SEARCH_TARGETS.filter((target) => target.group === 'realtime') diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index b164ad8..1d18a2f 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -36,14 +36,13 @@ show-floor-header :show-layer-mode-toggle="false" :show-floor="is3DMode && !showRoutePlanner" - show-zoom-controls + :show-zoom-controls="is3DMode" zoom-controls-top="calc(100vh - 292px)" :route-preview="activeRoutePreview" :show-route="Boolean(activeRoutePreview)" :disable-auto-exit="disableIndoorAutoExit" :auto-switch-threshold-low="0.58" :auto-switch-threshold-high="1.18" - :outdoor-nav-polylines="outdoorNavPolylines" @mode-change="handleModeChange" @floor-request="handleFloorRequest" @floor-change="handleFloorChange" @@ -56,7 +55,6 @@ @initial-model-ready="handleInitialModelReady" @initial-model-failed="handleInitialModelFailed" @tool-click="handleIndoorToolClick" - @map-tap="handleMapTapForOutdoorNav" >