uniapp实现腾讯地图定位,生成点,多点连线,清空点线,卫星地图等功能

news2024/11/25 16:20:35

功能:

        1.地图上标点,点有内容,点击点后可以查看点的信息,详情

        2.点击地图生成点,点击多个点后可以实现点连线功能

        3.点击按钮后,可以把生成的点清空

        4.卫星地图和默认地图切换功能

1.完整代码+字段讲解

1.latitude:纬度

2.enable-satellite:卫星地图切换

3.longitude:经度

4.scale:缩放值

5.markers:标点,可以设置点内容,callout:点的文本框内容设置

6.polygons:连线用的

7.@callouttap:点击点上面的文本框可以弹出遮罩层和内容

<template>
	<view class="content">
		<map :enable-satellite="isMap" style="width: 100%; height: 100vh;" :latitude="latitude" :longitude="longitude"
			:scale="scale" :markers="markers" :polygons="polygons" @tap="mapTap" @callouttap="onCallouttap">
			<view class="btnmap" @click="isMap=!isMap">{{isMap?'腾讯地图':'卫星地图'}}</view>
			<!-- 覆盖在原生组件的文本视图 -->
			<!-- 遮罩层 -->
			<view v-if="popupShow" @click="popupShow=false" class="popup">
			</view>
			<view v-if="popupShow" class="deltail">
				弹层内容
			</view>
			<view class="btnmap way" @click="wayall">路径生成</view>
			<view class="btnmap close" @click="closeWayall">关闭路径</view>
		</map>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				latitude: '30.482814',
				longitude: '114.41917',
				isMap: false,
				scale: "16",
				markers: [{
					id: 0,
					latitude: 30.482814,
					longitude: 114.41917,
					width: 25,
					height: 35,
					callout: { // 气泡
						content: "标题",
						// bgColor: "rgba(255,255,255,0.51)",
						color: "#F56C6C",
						fontSize: 12,
						padding: 5,
						display: "ALWAYS",
						borderColor: "#F56C6C",
					},
				}],
				popupShow: false,
				polygons: [{ // 路线
					strokeWidth: 1,
					strokeColor: '#67c23a',
					fillColor: '#1791fc66',
					dottedLine: false,
					arrowLine: false,
					level: "abovelabels",
					// 必须要有三个默认属性,并且值不能完全一致,不然报错
					points: [{
						latitude: 30.627291,
						longitude: 114.343762
					}, {
						latitude: 30.627292,
						longitude: 114.343763,
					}, {
						latitude: 30.627291,
						longitude: 114.343762
					}]
				}],
				option: [],
				id: 0
			}
		},
		onLoad() {},
		methods: {
			mapTap({
				detail: {
					latitude,
					longitude
				}
			}) {
				// this.popupShow = true
				this.option = {
					id: ++this.id,
					latitude: latitude,
					longitude: longitude,
					width: 25,
					height: 35,
					callout: {
						content: `点${this.id}`,
						color: "#F56C6C",
						fontSize: 12,
						padding: 5,
						display: "ALWAYS",
						borderColor: "#F56C6C",
					}
				}
				let arr=[]
				this.markers.push(this.option)
				this.markers.forEach(item => {
					arr.push({
						latitude: item.latitude,
						longitude: item.longitude
					})
				})
				this.option=arr;
				// console.log(this.polygons, '地图画线');
			},
			wayall() {
				// 点线面,如果不是面就不让他生成
				if (this.option.length > 2) {
				this.polygons[0].points=[];
				this.polygons[0].points.push(...this.option)
				console.log(this.polygons,'得到的数值');
				}else{
					uni.showToast({
						title:"起码选择三个点",
						duration: 2000
					})
				}
			},
			change(){
				this.$refs.popup.close()
			},
			closeWayall(){
				this.polygons[0].points= [{
						latitude: 30.627291,
						longitude: 114.343762
					}, {
						latitude: 30.627292,
						longitude: 114.343763,
					}, {
						latitude: 30.627291,
						longitude: 114.343762
					}]
			},
			onCallouttap(event){
				console.log(event.detail.markerId,'获取到点的id之后可以用点id去请求接口');
				this.popupShow=true
			}
		},
	
	}
</script>

<style lang="scss" scoped>
	.popup {
		width: 100%;
		height: 100vh;
		position: fixed;
		top: 0;
		left: 0;
		background: #000;
		opacity: 0.2;
		overflow: hidden;
		z-index: 1000;
		color: #fff;
	}

	.deltail {
		z-index: 10001;
		height: 300px;
		position: fixed;
		bottom: 0px;
		width: 100%;
		background-color: #fff;
	}

	.btnmap {
		position: fixed;
		top: 20px;
		right: 20px;
		width: 110px;
		height: 30px;
		color: #92bbea;
		text-align: center;
		line-height: 30px;
		border: 1px solid #92bbea;
		background-color: #fff;
	}

	.way {
		right: 140px;
	}
	.close{
		right: 260px;
	}
</style>

2.效果

 

 文章到此结束,希望对你有所帮助~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/722807.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

集成免费Chatgpt的WeTab安装与使用详解

集成免费Chatgpt的WeTab安装与使用详解 一、WeTab简介二、Chatgpt简介三、WeTab安装3.1 Edge浏览器在线安装教程3.2 Chrome浏览器在线安装教程 四、WeTab和ChatGPT的简单使用4.1 WeTab简单使用4.2 集成ChatGPT的简单使用 一、WeTab简介 WeTab是一款集成了多种实用工具的在线工…

第47步 深度学习图像识别:SqueezeNet建模(Pytorch)

基于WIN10的64位系统演示 一、写在前面 &#xff08;1&#xff09;SqueezeNet SqueezeNet是一种轻量级的深度神经网络架构&#xff0c;由Iandola等人在2016年提出。这种模型的最大特点是参数量极少&#xff0c;仅有510千个参数&#xff0c;而且模型大小只有5MB&#xff0c;比…

Simulink仿真模块 - Multiport Switch

Multiport Switch:基于控制信号选择输出信号 在仿真库中的位置为:Simulink / Signal Routing HDL Coder / Signal Routing 模型为: 双击模型打开参数设置界面为: 说明 Multiport Switch 模块用于确定将多个模块输入中的哪一个传递给输出。此模块根据第一个输入的值…

Nginx 安装 headers-more-nginx-module 扩展,隐藏www服务信息

通过Ubuntu APT安装的Nginx默认是没有扩展的&#xff0c;所以需要手动安装才可以。本文主要分享如何在 APT 安装 Nginx 的环境中安装 headers-more-nginx-module 扩展&#xff0c;隐藏www服务信息。 1、起因 今天收到一个高危漏洞的警告&#xff0c;该漏洞大意为&#xff1a;…

Fortran 中的函数与子程序

Fortran 中的函数与子程序 简介 Fortran 是不区分大小写的函数&#xff08;Function&#xff09;&#xff1a; 函数是一段具有输入和输出的代码块&#xff0c;它接受一些输入参数&#xff0c;经过一系列计算后返回一个结果。 在Fortran中&#xff0c;函数的定义以关键字"…

【深度学习】1. yolov5 推理速度和batchsize的增长关系,推理并行处理多张图片,显存如何手动释放

文章目录 前言1. batchsize和推理速度的关系2. 修改batchsize尝试2.1 benifit&#xff08;好处&#xff09;2.1 编码batchsize下的推理2.2 发现问题2.2.1 推理结束后&#xff0c;占用显存不释放。 2.3 其它有用的参数设置 前言 yolov5的detect.py 是默认batchsize1的&#xff…

echarts 进度条 样式图表

示例图 代码 <!-- *flat-bar-chart *author yuge *date 2023/6/26 16:21 --> <template><div class"flat-bar-chart-main" ref"chartDiv"></div> </template><script> import * as echarts from echartsexport defau…

阿里云国际站:云原生数据库2.0时代,阿里云如何将云原生进行到底?

【猎云网上海】11月3日报道&#xff08;文/孙媛&#xff09; “PolarDB将云原生进行到底&#xff01;” 在2021年云栖大会上&#xff0c;阿里巴巴集团副总裁、阿里云智能数据库事业部总负责人李飞飞宣布了PolarDB实现三层解耦的重磅升级以及引领云原生数据库技术持续创新的态…

Java性能权威指南-总结25

Java性能权威指南-总结25 数据库性能的最佳实践随机数Java原生接口字符串的性能 数据库性能的最佳实践 随机数 Java7提供了3个标准的随机数生成器类&#xff1a;java.util.Random、java.util.concurrent.ThreadLocalRandom以及java.security.SecureRandom。这三个类在性能方面…

SpringBoot教学资料1-SpringBoot基础

SpringBoot简介 Spring Boot 优点 •可快速构建独立的Spring应用 •直接嵌入Tomcat(无需部署WAR文件) •提供依赖启动器简化构建配置 •极大程度的自动化配置Spring和第三方库 •提供生产就绪功能 •极少的代码生成和XML配置 •Spring Boot是基于Spring框架开发的全新框架&…

jenkins使用ftp工具,上传文件至服务器报错“Could not write file”

一、错误说明 使用ftp上传文件 ERROR: Exception when publishing, exception message [Could not write file. Server message: [553 Could not create file.]]11:12:45 FTP: Connecting from host [test-xxx-java-user-service-3-932ft-hsb69-t5wmf] 11:12:45 FTP: Conne…

『DotNetBrowser』.Net的浏览器嵌入组件,该选择DotNetBrowser 还是 CefSharp?

&#x1f4e3;读完这篇文章里你能收获到 全方位对比DotNetBrowser 和 CefSharp的优缺点 文章目录 一、引言二、引擎三、架构1. CefSharp架构2. DotNetBrowser架构 四、对比1. 稳定性和内存使用2. 应用程序域3. AnyCPU4. H.264, AAC5. 安全6. Visual Studio设计器7. 嵌入应用程…

通过DAPLink和STLink使用RTT输出日志

前提 阅读此文章的前提是已经移植好SEGGER RTT&#xff0c;如未移植请参考我的另一篇博客 《基于J-Link RTT Viewer输出日志(适用于JLink DAPLink STLink)》 由于SEGGER RTT 自带的 JLinkRTTViewer.exe 只支持自家的J-Link&#xff0c;所以使用DAPLink和STLink我们得另辟蹊径…

【设计模式】第二十一章:命令模式详解及应用案例

系列文章 【设计模式】七大设计原则 【设计模式】第一章&#xff1a;单例模式 【设计模式】第二章&#xff1a;工厂模式 【设计模式】第三章&#xff1a;建造者模式 【设计模式】第四章&#xff1a;原型模式 【设计模式】第五章&#xff1a;适配器模式 【设计模式】第六章&…

shiro系列vulhub所有漏洞复现CVE-2020-1957、CVE-2016-4437、CVE-2010-3863、shiro-721 代码执行

文章目录 Apache Shiro 认证绕过漏洞&#xff08;CVE-2020-1957&#xff09;漏洞详情&#xff1a;复现&#xff1a; Apache Shiro 1.2.4反序列化漏洞&#xff08;CVE-2016-4437&#xff09;漏洞详情&#xff1a;复现: Apache Shiro 认证绕过漏洞&#xff08;CVE-2010-3863&…

实验二(OSPF+PPP+hub-spoke)7 5

1.合理划分IP地址&#xff1a; R1&#xff1a; R2&#xff1a; R3&#xff1a; R4&#xff1a; R5&#xff1a; R6&#xff1a; 2.启用OSPF单区域&#xff1a; R1及路由表&#xff1a; [r1]display ip routing-table protocol ospf R2及路由表&#xff1a; R3及路由表&#…

Atlassian Jira Software 9.9.1 特别版

敏捷团队首选的软件开发工具&#xff0c;Atlassian Jira Software 专为软件团队中的每位成员构建&#xff0c;可用于规划、跟踪和发布卓越的软件。 Scrum 板 利用可自定义的 Scrum 板&#xff0c;敏捷团队可集中精力尽可能迅速地交付迭代和增量价值。 看板 借助灵活的看板图&am…

【MySQL】在Linux下删除和安装MySQL

文章目录 一、前言二、检查、卸载内置环境三、获取mysql官方yum源四、正式安装MySQL服务五、登录MySQL配置my.cnf设置开机启动 一、前言 大家好久不见&#xff0c;今天开始分享关系型数据库Mysql的一些知识。 二、检查、卸载内置环境 2.1 首先使用命令查询当前mysql的运行状…

解决dbeaver查询结果乱码问题

问题描述&#xff1a; 通过dbeaver查询informinx 查询结果数据集是乱码 解决方案 &#xff1a; 右键编辑连接 在驱动属性里面新增 用户属性 NEWCODESET 值为 GBK,8859-1,819 解决数据库本身就是GBK编码&#xff0c;但是查询结果集编码不一致难题

Python+CNN 手写公式识别计算系统

系统&#xff1a;Win10 环境&#xff1a;Pycharm/Vscode Python3.7 效果图&#xff1a; 部分代码如下&#xff1a; import torch import torch.nn as nn import torch.nn.functional as F import torch.optim as optim from torchvision import datasets,transforms#定义…