当前位置: 首页> 汽车> 行情 > 网页界面制作_seo查询站长工具_全国最新实时大数据_产品营销方案策划

网页界面制作_seo查询站长工具_全国最新实时大数据_产品营销方案策划

时间:2025/8/23 8:26:14来源:https://blog.csdn.net/qq_41238459/article/details/145722133 浏览次数: 0次
网页界面制作_seo查询站长工具_全国最新实时大数据_产品营销方案策划

一、前言

在物流追踪、运动轨迹记录等场景中,地图轨迹可视化是常见需求。本文将以Vue3为例,详细介绍如何集成百度地图JavaScript API,并实现动态轨迹绘制功能。


二、准备工作

1. 注册百度地图开发者账号

访问百度地图开放平台注册账号

2. 创建应用获取AK

  1. 控制台 → 应用管理 → 我的应用 → 创建应用

  2. 应用类型选择「浏览器端」

  3. 记录获取的AK(如:E4805d16520de693xxxxxxxx


三、项目搭建

1. 创建Vue项目

npm create vue@latest

2. 安装依赖

npm install vue-baidu-map-3x --save  # 推荐使用封装好的Vue组件库

四、核心实现

1. 全局配置百度地图

main.ts

import { createApp } from 'vue'
import BaiduMap from 'vue-baidu-map-3x'const app = createApp(App)app.use(BaiduMap, {ak: '您的AK',// 可选配置v: '3.0',type: 'WebGL'
})app.mount('#app')

2. 基础地图组件

BaiduMap.vue

<template><baidu-map class="map-container":center="center":zoom="zoom"@ready="mapReady"><!-- 轨迹相关组件将在此处添加 --></baidu-map>
</template><script setup lang="ts">
import { ref } from 'vue'const center = ref({ lng: 116.404, lat: 39.915 })
const zoom = ref(15)const mapReady = (e: any) => {console.log('地图初始化完成', e)
}
</script><style scoped>
.map-container {width: 100%;height: 600px;
}
</style>

五、轨迹绘制实现

1. 准备轨迹数据

// 示例轨迹数据(实际应从接口获取)
const trackPoints = [{ lng: 116.301934, lat: 39.977552 },{ lng: 116.508328, lat: 39.919141 },{ lng: 116.527394, lat: 39.889146 }
]

2. 绘制轨迹折线

<template><baidu-map ...><bm-polyline :path="trackPoints"stroke-color="blue":stroke-opacity="0.8":stroke-weight="4"/></baidu-map>
</template>

3. 添加轨迹标记

<bm-marker v-for="(point, index) in trackPoints":key="index":position="point":icon="{url: require(`@/assets/marker${index === 0 ? '_start' : '_end'}.png`),size: { width: 32, height: 32 }}"
><bm-info-window :show="index === 0">轨迹点 {{ index + 1 }}<br>{{ point.lat.toFixed(4) }}, {{ point.lng.toFixed(4) }}</bm-info-window>
</bm-marker>

六、高级功能扩展

1. 自动适应轨迹范围

const autoViewport = (points: any[]) => {const bounds = new BMap.Bounds()points.forEach(point => {bounds.extend(new BMap.Point(point.lng, point.lat))})map.value?.setViewport(bounds)
}

2. 动态轨迹动画

// 使用BMAPLib实现轨迹动画
import { TrackAnimation } from 'vue-baidu-map-3x/lib/libs/TrackAnimation'let animation: TrackAnimationconst startAnimation = () => {animation = new TrackAnimation(map.value, path, {duration: 10000,delay: 300})animation.start()
}onUnmounted(() => {animation?.cancel()
})

七、完整效果展示

功能清单:

  • 基础地图展示

  • 动态轨迹绘制

  • 起止点标记

  • 坐标信息窗口

  • 自动视野调整

  • 轨迹动画效果


八、常见问题解决

1. 地图不显示

  • 检查AK是否有效

  • 确认域名已加入白名单

  • 检查容器宽高是否有效

2. 跨域问题

// vite.config.js
export default defineConfig({server: {proxy: {'/api': {target: 'https://api.map.baidu.com',changeOrigin: true}}}
})

九、项目资源

  • 百度地图开放平台

  • vue-baidu-map-3x文档

  • 示例代码GitHub仓库


十、总结

通过本文的步骤,我们可以快速在Vue3项目中集成百度地图并实现轨迹可视化功能。在实际项目中,建议:

  1. 将地图组件封装为独立模块

  2. 使用WebSocket实现实时轨迹更新

  3. 添加地图控件(缩放/比例尺)

  4. 结合ECharts实现热力图叠加

关键字:网页界面制作_seo查询站长工具_全国最新实时大数据_产品营销方案策划

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: