小程序(物流、快递),接入GPS北斗获取路线以及当前车辆位置

1、前端目前的路线是在数据中定义模拟的。

2、实际使用中,需要后端接入定位系统,以及车辆硬件支持,拿到车辆的定位信息,以及后台录入的车辆号码及驾驶人信息或需要的信息。

3、当前代码复制即可使用,只需要把绑定数据切换为接口返回数据。

javascript 复制代码
<template>
	<view class="content">
		<map style="width:100%;height:100%;" :latitude="latitude" :longitude="longitude" :scale="scale"
			:markers="markers" @markertap="onMarkerTap" :polyline='polyline'>
		</map>

		<view class="content-up" v-if="mapshow">
			<view>
				<text>路程信息</text>
				<view @click="Outmapshow">
					<image src="/static/out.png" style="width: 100%;height: 100%;"></image>
				</view>
			</view>
			<view>
				<view v-for="(img, index) in images" :key="index" class="icon">
					<image src="/static/right.png" style="width: 100%; height: 100%" v-if="index<currentIndex"></image>
				</view>
			</view>
			<view>路程: {{mapupdata.km}}km</view>
			<view>预计: {{mapupdata.date}} 到达</view>
			<view>车牌号: {{mapupdata.number}}</view>
			<view>车辆状态: <view :style="{background:mapupdata.type=='暂停'?'#FF0000':'#55aa7f'}">{{mapupdata.type}}</view>
			</view>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				latitude: 34.79977,
				longitude: 113.663221,
				scale: 14,
				polyline: [],
				markers: [],
				images: Array(10).fill('/static/right.png'),
				currentIndex: 0, // 当前图片索引
				mapshow: false,
				mapupdata: ''
			}
		},
		mounted() {
			this.showImages();
			setInterval(this.showImages, 1000);
		},
		created() {
			this.markers = require('../../static/markers.json');
		},
		methods: {
			Outmapshow() {
				this.mapshow = false
				this.polyline = [] //初始化
			},
			showImages() {
				this.currentIndex = (this.currentIndex + 2) % 12; // 每次增加2并对12取模  
				if (this.currentIndex === 0) {
					this.currentIndex = 2; // 如果结果为0,则设置为2  
				}
			},
			onMarkerTap(e) {
				const markerId = e.markerId;
				this.markers.forEach((item) => {
					if (item.id == markerId) {
						this.polyline = item.polyline
						this.mapupdata = item
						this.mapshow = true
						this.currentIndex = 0
						this.$forceUpdate()
					}
				})
			}
		}
	}
</script>

<style lang="scss">
	.content {
		width: 100vw;
		height: 100vh;

		.content-up {
			width: 100%;
			border-top-right-radius: 20rpx;
			border-top-left-radius: 20rpx;
			background: #FFFFFF;
			float: left;
			position: fixed;
			left: 0;
			bottom: 0;
			z-index: 99999;
			padding-bottom: 80rpx;
		}

		.content-up>view:nth-child(1) {
			width: 90%;
			height: 40rpx;
			margin: 30rpx auto 0;
			position: relative;
			display: flex;
			align-items: center;
			justify-content: center;
		}

		.content-up>view:nth-child(1)>view {
			width: 40rpx;
			height: 40rpx;
			text-align: center;
			line-height: 40rpx;
			position: absolute;
			right: 0;
			top: 0;
			z-index: 9;
		}

		.content-up>view:nth-child(2) {
			width: 630rpx;
			height: 70rpx;
			border-radius: 5rpx;
			margin: 65rpx auto 0;
			position: relative;
			display: flex;
			align-items: center;
			justify-content: center;
			background: #f3f3f3;
		}

		.icon {
			width: 60rpx;
			height: 60rpx;
		}


		.content-up>view:nth-child(3),
		.content-up>view:nth-child(4),
		.content-up>view:nth-child(5),
		.content-up>view:nth-child(6) {
			width: 630rpx;
			height: 70rpx;
			margin: 10rpx auto 0;
			display: flex;
			align-items: center;
			font-size: 28rpx;
			color: #333333;
			font-weight: bold;
		}

		.content-up>view:nth-child(6)>view {
			width: 70rpx;
			height: 50rpx;
			background: #FF0000;
			border-radius: 5rpx;
			text-align: center;
			line-height: 50rpx;
			font-size: 26rpx;
			font-weight: 500;
			color: #FFFFFF;
		}
	}
</style>

车辆图片,可自定义

相关推荐
m0_5873830031 分钟前
工业场景设备维修维护实战技巧 全流程标准化落地与常见问题排查指南
java·spring·小程序·架构·需求分析
m0_5873830020 小时前
深圳 24 小时自助健身房系统软件开发实战指南与案例解析
java·spring boot·小程序·架构·需求分析
2501_915909061 天前
iOS应用从开发到上架App Store的完整发布流程与步骤指南
android·ios·小程序·https·uni-app·webview
扶风ff1 天前
练题簿在线免费刷题:会员线下组卷、Word 试卷与成绩导入,课堂检测更方便
java·开发语言·算法·小程序·word
镭封1 天前
做电视剧解说视频用什么软件?配音、文案处理一次解决
人工智能·小程序·音视频·语音识别·媒体
闹小艾1 天前
制作题库练题小程序如何选择搭建平台?3大主流平台优缺点,新手选型不踩坑
小程序
小码哥0681 天前
陪诊小程序系统开发:开启医疗陪护新时代
小程序·陪诊·陪护·陪诊陪护·医院陪诊系统·陪诊系统·陪诊管理
扶风ff1 天前
练题簿在线免费刷题:创建个人任务,把刷题、听题和模考目标放到每天的学习中
开发语言·javascript·学习·小程序
andrsted1 天前
练题簿在线免费刷题:听读练题支持暂停续播、循环播放,让自己的题库听得更方便
学习·微信小程序·小程序·刷题·在线刷题