当前位置: 首页 > article >正文

uniapp微信小程序实现地图展示控件

最终实现效果:

地图上展示控件,并可以点击。

目录

一、前言

二、在地图上展示控件信息 点击后可进行绘制面图形

1.使用cover-view将控件在地图上展示

2.设置控件样式,使用好看的图标

3.控件绑定点击事件


一、前言

原本使用的是controls,但是我发现官方明确说明,这个功能即将废弃,所以这里控件的展示我使用了cover-view

二、在地图上展示控件信息 点击后可进行绘制面图形

1.使用cover-view将控件在地图上展示

HTML部分

<!-- 展示地图信息  标绘位置情况 -->
<view class="myMap">
	<u-divider text="地图展示"></u-divider>
	<map id="mymap" class="myMap_map">
		<cover-view class="myMap_map__cover-view">
			<cover-view class="myMap_map__cover-view_mapControls">
				<!-- 显示绘制的控件-->
				<cover-view class="myMap_map__cover-view_mapControls_drawControl"></cover-view>
			</cover-view>
		</cover-view>
	</map>
</view>

设置CSS样式

// 地图模块样式
.myMap{
	width:100%;
	height: 500rpx;
	&_map{
		width: 100%;
		height: 450rpx;
		
		&__cover-view{
			position: absolute;
			top:calc(50% - 150rpx);
			left:calc(50% - 150rpx);
			
			&_mapControls{
				display: flex;
				flex-direction: column;
				align-items: center;
				
				&_drawControl{
					width: 50px;
					height: 50px;
					background-color: #ff0000
				}
			}
		}
	}
}

展示效果

2.设置控件样式,使用好看的图标

将控件移动到屏幕中地图的合适位置,并使用cover-image展示好看的图标展示

HTML部分

<!-- 展示地图信息  标绘位置情况 -->
<view class="myMap">
	<u-divider text="地图展示"></u-divider>
	<map id="mymap" class="myMap_map">
		<cover-view class="myMap_map__cover-view">
			<cover-view class="myMap_map__cover-view_mapControls">
				<!-- 显示绘制的控件-->
				<cover-view class="myMap_map__cover-view_mapControls_drawControl">
					<cover-image class="myMap_map__cover-view_mapControls_drawControl_drawicon" :src="mapData.drawIconPath"></cover-image>
					<cover-view class="myMap_map__cover-view_mapControls_drawControl_drawText">标绘位置</cover-view>
				</cover-view>
			</cover-view>
		</cover-view>
	</map>
</view>

CSS设置地图

// 地图模块样式
.myMap{
	width:100%;
	height: 500rpx;
	&_map{
		width: 100%;
		height: 450rpx;
		
		&__cover-view{
			position: absolute;
			top:40rpx;
			left:35rpx;
			
			&_mapControls{
				display: flex;
				flex-direction: column;
				align-items: center;
				
				&_drawControl{
					display: flex;
					align-items: center;
					justify-content: center;
					flex-direction: column;
					width: 48px;
					height: 48px;
					background-color: #fff;
					border-radius: 5px;
					
					&_drawicon{
						width: 20px;
						height: 20px;
						margin-bottom: 6px;
					}
					
					&_drawText{
						font-size: 10px;
						color: #00AF99;
					}
				}
			}
		}
	}
}

展示效果:

3.控件绑定点击事件

直接在控件的cover-view上绑定click事件

点击效果:


http://www.kler.cn/a/152821.html

相关文章:

  • 【Java】文件I/O-文件内容操作-输入输出流-Reader/Writer/InputStream/OutputStream四种流
  • 苍穹外卖项目笔记(5)——Redis
  • Python函数关键字参数及用法
  • Spring简单的存储和读取
  • 【蓝桥杯选拔赛真题25】C++两个数比大小 第十三届蓝桥杯青少年创意编程大赛C++编程选拔赛真题解析
  • 数字电源为什么一般用DSP控制,而不能用普通的单片机?
  • OpenStack-train版安装之安装Keystone(认证服务)、Glance(镜像服务)、Placement
  • Scan Context / Scan Context ++ 论文和源码阅读
  • 西南科技大学模拟电子技术实验一(常用电子仪器的使用及电子元器件的识别)预习报告
  • C++相关闲碎记录(2)
  • ubuntu离线安装包下载和安装
  • Linux安全配置
  • Windows核心编程 远程线程注入
  • 【Redis缓存】RedisTemplate如何获取符合要求的key,批量获取key
  • Binlog vs. Redo Log:数据库日志的较劲【基础】
  • C++模板—函数模板、类模板
  • 道可云元宇宙每日资讯|智慧旅游发展大会暨智慧旅游示范展示活动在南京举办
  • *a++、*++a、(*a)++的运算顺序
  • STDP突触设计(一)
  • 浅学指针(4)函数指针数组和qsort的使用