<template><div><el-button type="primary" @click="pathShowOrHide">轨迹显/隐</el-button><div id="container" /></div>
</template><script>
import AMapLoader from '@amap/amap-jsapi-loader'export default {name: 'MapView',data() {return {map: null,PathSimplifier: null,$: null,pathState: true}},mounted() {this.initAMap()},unmounted() {this.map?.destroy()},methods: {initPage(PathSimplifier, $) {const pathSimplifierIns = new PathSimplifier({zIndex: 100,// autoSetFitView:false,map: this.map, // 所属的地图实例getPath: function(pathData, pathIndex) {return pathData.path},getHoverTitle: function(pathData, pathIndex, pointIndex) {return null}})window.pathSimplifierIns = pathSimplifierInspathSimplifierIns.setData([{name: '测试',path: [[116.405289, 39.904987],[113.964458, 40.54664],[111.47836, 41.135964],[108.949297, 41.670904]]}])const pathNavigatorStyles = [{width: 16,height: 24,content: 'defaultPathNavigator'}]function extend(dst) {if (!dst) {dst = {}}const slist = Array.prototype.slice.call(arguments, 1)for (let i = 0, len = slist.length; i < len; i++) {const source = slist[i]if (!source) {continue}for (const prop in source) {if (source.hasOwnProperty(prop)) {dst[prop] = source[prop]}}}return dst}let idx = 0const navg1 = pathSimplifierIns.createPathNavigator(0, {loop: true,speed: 1000000,pathNavigatorStyle: extend({}, pathNavigatorStyles[0])})navg1.start()function changeNavgContent() {// 获取到pathNavigatorStyle的引用const pathNavigatorStyle = navg1.getStyleOptions()// 覆盖修改extend(pathNavigatorStyle, pathNavigatorStyles[(++idx) % pathNavigatorStyles.length])// 重新绘制pathSimplifierIns.renderLater()}setInterval(changeNavgContent, 500)},initAMap() {const that = thisAMapLoader.load({key: 'ed030cd90d1a6014ea01f26d51250f40', // 申请好的Web端开发者Key,首次调用 load 时必填version: '2.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15plugins: ['AMap.Scale'], // 需要使用的的插件列表,如比例尺'AMap.Scale',支持添加多个如:['...','...']AMapUI: {version: '1.1',plugins: ['overlay/SimpleMarker']}// 需要使用的的插件列表,如比例尺'AMap.Scale'等}).then((AMap) => {this.map = new AMap.Map('container', {// 设置地图容器idviewMode: '3D', // 是否为3D地图模式zoom: 4, // 初始化地图级别center: [116.397428, 39.90923] // 初始化地图中心点位置})AMapUI.load(['ui/misc/PathSimplifier', 'lib/$'], (PathSimplifier, $) => {if (!PathSimplifier.supportCanvas) {alert('当前环境不支持 Canvas!')return}this.PathSimplifier = PathSimplifierthis.$ = $this.initPage(PathSimplifier, $)})}).catch((e) => {console.log(e)})},pathShowOrHide() {if (this.pathState) {window.pathSimplifierIns.setData([])this.pathState = false} else {this.initPage(this.PathSimplifier, this.$)this.pathState = true}}}
}
</script><style scoped>
#container {width: 100%;height: 300px;
}
</style>
vue使用高德地图实现轨迹显隐
2025/1/3 1:26:37
来源:https://blog.csdn.net/m0_52769924/article/details/143305793
浏览:
次
关键词:vue使用高德地图实现轨迹显隐
版权声明:
本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。
我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com
-
前端-动画库Lottie 3分钟学会使用
-
工厂+策略模式之最佳实践(疾病报卡维护模块API设计)
-
【每日学点鸿蒙知识】ets匿名类、获取控件坐标、Web显示iframe标签、软键盘导致上移、改变Text的背景色
热文排行
- 本周后半段,北方将遭今春首场沙尘天气
- 编程-设计模式 6:适配器模式
- 2024年全国青少年信息素养python编程复赛真题+答案
- 如何利用大数据技术来识别和预防网络赌博行为?
- LLMs之Llama 3.1:Llama 3.1的简介、安装和使用方法、案例应用之详细攻略
- JVM:SpringBoot TomcatEmbeddedWebappClassLoader
- No module named ‘tvtk.custom.light‘ mayavi
- 解决 Ubuntu 系统中 “Temporary Failure in Name Resolution“ 错误
- YOLOv10有效涨点专栏目录
- 开普勒优化算法( KOA)及其Python和MATLAB实现