This commit is contained in:
@@ -124,6 +124,11 @@ import {
|
||||
THIRD_PARTY_MAP_PROVIDERS,
|
||||
type ThirdPartyMapProviderOption
|
||||
} from '@/services/ThirdPartyMapSearchService'
|
||||
import { isNativeWechatMiniProgram } from '@/utils/hostEnvironment'
|
||||
import {
|
||||
getArrivalNavigationActionText,
|
||||
resolveArrivalNavigationMode
|
||||
} from '@/components/navigation/arrivalNavigationPolicy'
|
||||
|
||||
const props = withDefaults(defineProps<{
|
||||
visible?: boolean
|
||||
@@ -147,8 +152,9 @@ const emit = defineEmits<{
|
||||
|
||||
const typeOptions = computed(() => ARRIVAL_TARGET_TYPES)
|
||||
const mapProviders = computed(() => THIRD_PARTY_MAP_PROVIDERS)
|
||||
const navigationMode = resolveArrivalNavigationMode(isNativeWechatMiniProgram())
|
||||
const primaryActionText = computed(() => (
|
||||
isOpeningNavigation.value ? '正在打开...' : '打开地图导航'
|
||||
getArrivalNavigationActionText(navigationMode, isOpeningNavigation.value)
|
||||
))
|
||||
const arrivalPanelRef = ref<unknown>(null)
|
||||
const isCollapsed = ref(false)
|
||||
@@ -248,6 +254,12 @@ const handleNavigateTap = async () => {
|
||||
return
|
||||
}
|
||||
|
||||
// H5(含小程序 web-view)统一由用户选择第三方地图。
|
||||
if (navigationMode === 'third-party-providers') {
|
||||
providerSheetVisible.value = true
|
||||
return
|
||||
}
|
||||
|
||||
const target = {
|
||||
latitude: props.selectedTarget.latitude,
|
||||
longitude: props.selectedTarget.longitude,
|
||||
@@ -256,10 +268,7 @@ const handleNavigateTap = async () => {
|
||||
}
|
||||
isOpeningNavigation.value = true
|
||||
try {
|
||||
const result = await openWechatMiniProgramLocation(target)
|
||||
if (result.status === 'not-embedded') {
|
||||
providerSheetVisible.value = true
|
||||
}
|
||||
await openWechatMiniProgramLocation(target)
|
||||
} finally {
|
||||
isOpeningNavigation.value = false
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user