xlqx/app/pages/map-demo.vue

44 lines
1.2 KiB
Vue
Raw Normal View History

2025-10-29 14:44:18 +08:00
<template>
<div class="map-demo-page">
2025-10-29 18:01:30 +08:00
<div class="page-header mt-22 mx-auto">
2025-10-29 14:44:18 +08:00
<h1>高德地图组件演示</h1>
<p>基于您提供的HTML示例创建的Vue组件</p>
</div>
<div class="demo-section">
<AMapComponent
2025-10-29 16:26:51 +08:00
ref="mapRef"
:zoom="17"
@map-ready="onMapReady"
2025-10-29 14:44:18 +08:00
/>
</div>
</div>
</template>
<script setup>
import { ref, computed } from 'vue'
import AMapComponent from '~/components/AMapComponent.vue'
// 响应式数据
const mapRef = ref(null)
const centerLng = ref(120.258419)
const centerLat = ref(27.11402)
// 计算属性
const mapCenter = computed(() => [centerLng.value, centerLat.value])
// 地图事件处理
const onMapReady = (mapInstance) => {
2025-10-29 18:01:30 +08:00
// 🔍 调试信息:验证地图实例是否正确传递
console.log('✅ 地图实例已就绪:', mapInstance)
console.log('📍 当前中心点:', mapInstance?.getCenter?.())
console.log('🔍 当前缩放级别:', mapInstance?.getZoom?.())
2025-10-29 15:40:24 +08:00
2025-10-29 14:44:18 +08:00
// 添加一个标记点
if (mapRef.value) {
mapRef.value.addMarker(mapCenter.value, {
title: '当前位置',
2025-10-29 15:40:24 +08:00
content: '<div style="background: #007bff; color: white; padding: 4px 8px; border-radius: 4px; font-size: 12px;">创特物联</div>'
2025-10-29 14:44:18 +08:00
})
}
}
</script>