Appearance
轨迹云 xt-map-track
常用方式
html
<template>
<xt-map-track
ref="map"
:height="'60vh'"
:map-key="mapKey"
:map-track-list="mapTrackList"
:shop-track-list="shopTrackList"
/>
<button type="primary" @click="handleClick">点击重制</button>
</template>
<script setup lang="ts">
import { ref, onMounted } from 'vue'
import { searchMapTracks } from '@/api/map'
import type { MapTrackList, ShopTrackList } from '@/components/xt-map-track/type'
const mapKey = 'QQHBZ-FOCRB-VPCUK-NNMZ7-BA773-B7BU7'
const mapTrackList = ref<MapTrackList>([])
const shopTrackList = ref<ShopTrackList>([])
const map = ref()
// 模拟请求
const _searchMapTracks = async () => {
const params = {
key: mapKey,
service_id: '***********',
entity_id: '***********',
start_time: 1709568300,
end_time: 1709570100
}
const [err, res] = await searchMapTracks(params)
if (err) return
const { result, status } = res
if (status !== 0) {
return
}
mapTrackList.value = result.track
// 模拟门店坐标
shopTrackList.value = [
{
lat: 40.04179884,
lng: 116.27350477,
name: '门店1'
},
{
lat: 40.04195077,
lng: 116.27457211,
name: '门店2'
}
]
}
const handleClick = async () => {
await map.value.initMap()
}
onMounted(async () => {
await _searchMapTracks()
await map.value.loadScript()
})
</script>
api
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
mapKey | 腾讯地图key | string | -- |
width | 宽度 | string | 100vw |
height | 高度 | string | 100vh |
mapTrackList | 地图轨迹坐标数组 | Array[MapTrackList] | [] |
shopTrackList | 门店坐标数组 | Array[ShopTrackList] | [] |
MapTrackList
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
lng | 经度 | string | number | -- |
lat | 纬度 | string | number | -- |
ShopTrackList
参数 | 说明 | 类型 | 默认值 |
---|---|---|---|
lng | 经度 | string | number | -- |
lat | 纬度 | string | number | -- |
name | 门店名称 | string | number | -- |