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

功能:

        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 = truethis.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.hqwc.cn/news/8897.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构--二叉树的定义和基本术语

数据结构–二叉树的定义和基本术语 二叉树的基本概念 二叉树是 n ( n ≥ 0 &#xff09; n (n\ge0&#xff09; n(n≥0&#xff09;个结点的有限集合: ①或者为 空二叉树 \color{red}空二叉树 空二叉树&#xff0c;即n 0。 ②或者由一个 根结点 \color{red}根结点 根结点和两…

什么是分布式软件系统

:什么是分布式软件系统&#xff1f;分布式软件系统是什么意思&#xff1f; 分布式软件系统(Distributed Software Systems)是支持分布式处理的软件系统,是在由通信网络互联的多处理机体系结构上执行任务的系统。它包括分布式操作系统、分布式程序设计语言及其编译(解释)系统、分…

Mysql,使用 UNION ALL 处理 ‘无中生有‘ 的数据。

在日常的开发工作中&#xff0c;有时我们需要在SQL层面添加一些数据库表中没有的数据&#xff0c;那么我们就可以使用 UNION ALL 关键字来解决。 一、简单的无中生有&#xff1a;在查询返回结果中添加数据 以下方的SQL1为例&#xff0c;我们根据 id 查询 user 表中的数据&#…

基于Java网上药品售卖系统设计实现(源码+lw+部署文档+讲解等)

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

有pmp证书的宝子抓紧行动了,免考拿证

1&#xff0c;首先简单介绍一下什么是cspm&#xff1f; cspm中文名字是项目管理专业人员能力等级评价&#xff0c;是由中国标准化协会&#xff08;CAS&#xff09;组织开展的&#xff0c;它符合国务院发布的《国家标准化发展纲要》&#xff0c;纲要中明确提出要构建多层次从业…

车辆在刹车不及时导致与行人发生碰撞事故,产生出险记录

车辆在刹车不及时导致与行人发生碰撞事故&#xff0c;是一种常见的交通事故。当发生此类事故时&#xff0c;车主需要及时处理保险理赔事宜&#xff0c;同时也需要了解车辆出险、理赔、事故记录情况&#xff0c;以便更好地维护车辆和自身权益。为方便车主查询车辆出险、理赔、事…

JavaScript(基础语法篇)

目录 初识 JavaScript JavaScript 是什么 发展历史 JavaScript 和 HTML 和 CSS 之间的关系 JavaScript 运行过程 JavaScript 的组成 前置知识 JavaScript 的书写形式 1. 行内式 2. 内嵌式 3. 外部式 注释 输入输出 输入: prompt 输出: alert 选择框&#xff1a…

Xcode通过Add package自动集成第三方SDK问题汇总

问题1&#xff1a; 解决方法&#xff1a;这个问题可能是因为 Adjust 或者 Facebook 的库当中依赖的某些类库的仓库地址是 git:// 协议&#xff0c;通过这种协议与 GitHub 通讯时会使用到你的 SSH 配置&#xff0c;你电脑上相关的 ssh key 使用了 GitHub 不再支持的格式&#xf…

redis高可用集群数据库的安装部署(6.2.12版本)

第三阶段基础 时 间&#xff1a;2023年7月3日 参加人&#xff1a;全班人员 内 容&#xff1a; 6.2.12版本redis集群部署 目录 一、环境配置&#xff1a;【两台服务器】 二、redis多实例配置&#xff1a; 三、构建redis cluster集群 四、创建主从 五、故障转移实验 …

一文读懂FPC(12)- FPC的阻抗控制

FPC系列文章目录 1.什么是FPC 2.什么是R-FPC 3&#xff0c;FPC的基材 4.FPC基材压延铜和电解铜的区别 5&#xff0c;FPC的辅材 6&#xff0c;FPC常见的四种类型 7&#xff0c;FPC的生产流程简介 8&#xff0c;R-FPC的生产流程简介 9&#xff0c;FPC的发展及应用 10&a…

SQL15 查看学校名称中含北京的用户

SELECT device_id,age,university FROM user_profile WHERE university LIKE %北京%下划线 代表匹配任意一个字符&#xff1b; % &#xff1a;百分号 代表匹配0个或多个字符&#xff1b; []: 中括号 代表匹配其中的任意一个字符&#xff1b; [^]: ^尖冒号 代表 非&#xff0c;取…