小程序(物流、快递),接入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>

车辆图片,可自定义

相关推荐
2501_915106327 分钟前
使用 Sniffmaster TCP 抓包和 Wireshark 网络分析
网络协议·tcp/ip·ios·小程序·uni-app·wireshark·iphone
宠友信息1 小时前
2025社交+IM及时通讯社区APP仿小红书小程序
java·spring boot·小程序·uni-app·web app
光影少年1 天前
AIGC + Taro / 小程序
小程序·aigc·taro
2501_915918411 天前
在 iOS 环境下查看 App 详细信息与文件目录
android·ios·小程序·https·uni-app·iphone·webview
2501_916007471 天前
没有 Mac 用户如何上架 App Store,IPA生成、证书与描述文件管理、跨平台上传
android·macos·ios·小程序·uni-app·iphone·webview
天空属于哈夫克31 天前
Go 语言实战:构建一个企微外部群“技术贴收藏夹”小程序后端
小程序·golang·企业微信
菜鸟una1 天前
【微信小程序+Taro 3+NutUI 3】input (nut-input) 、 textarea (nut-texteare)类型使用避坑
前端·vue.js·微信小程序·小程序·taro
计算机毕设指导61 天前
基于微信小程序的校园二手交易系统【源码文末联系】
java·spring boot·spring·微信小程序·小程序·tomcat·maven
Jiaberrr1 天前
小程序setData性能优化指南:避开坑点,让页面丝滑如飞
前端·javascript·vue.js·性能优化·小程序
Code王1 天前
【课程设计/毕业设计】基于springboot +微信小程序的家政服务平台系统基于小程序的家政服务系统安全开发【附源码、数据库、万字文档】
spring boot·小程序·课程设计