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

小程序,uniapp中map的使用

2天撸了一个地图标记的小程序,感谢uniapp, unicloud让开发如此高效。

主要功能是在map组件上做标记,用户点击标记可以看标记的详情,很简单,单一的小程序

了解map组件的基本使用,在地图上创造无线可能(吹牛)

各位可以看下效果. 

直接上代码

1. template声明map组件

<map 
:markers="poiList"
@markertap="markertap"
:scale=10
:latitude="latitude"
:longitude="longitude"
style="width: 100%;" :style="{height: windowHeight+'px'}"></map>

属性说明:

markers: 是标记点的数据,数据类型为数组,详细见下图。id, latitude,longitude, width,height,iconPath,title这几个属性是必须有值的。虽然uniapp官方文档上有的写非必填,但是不填会报错的

属性说明类型必填备注平台差异说明
id标记点idNumbermarker点击事件回调会返回此id。建议为每个marker设置上Number类型id,保证更新marker时有更好的性能。最大限制9位数
latitude纬度Number浮点数,范围 -90 ~ 90
longitude经度Number浮点数,范围 -180 ~ 180
title标注点名String点击时显示,callout存在时将被忽略App-nvue 2.1.5+、微信小程序、H5、支付宝小程序、百度小程序、京东小程序
iconPath显示的图标String项目目录下的图片路径,支持相对路径写法,以'/'开头则表示相对小程序根目录;也支持临时路径
rotate旋转角度Number顺时针旋转的角度,范围 0 ~ 360,默认为 0App-nvue 2.1.5+、微信小程序、支付宝小程序、百度小程序、京东小程序
alpha标注的透明度Number默认1,无透明,范围 0 ~ 1App-nvue 2.1.5+、微信小程序、支付宝小程序、百度小程序、京东小程序
width标注图标宽度Number默认为图片实际宽度App-nvue 2.1.5+、微信小程序、H5、支付宝小程序、百度小程序、京东小程序
height标注图标高度Number默认为图片实际高度App-nvue 2.1.5+、微信小程序、H5、支付宝小程序、百度小程序、京东小程序
callout自定义标记点上方的气泡窗口Object支持的属性见下表,可识别换行符。App-nvue 2.1.5+、H5、微信小程序、支付宝小程序、百度小程序、京东小程序
label为标记点旁边增加标签Object支持的属性见下表,可识别换行符。App-nvue 2.1.5+、微信小程序、H5、App、百度小程序、支付宝小程序
anchor经纬度在标注图标的锚点,默认底边中点Object{x, y},x表示横向(0-1),y表示竖向(0-1)。{x: .5, y: 1} 表示底边中点App-nvue 2.1.5+、微信小程序、H5、百度小程序、京东小程序
clusterId自定义点聚合簇效果时使用NumberApp-nvue 3.1.0+、微信小程序
customCallout自定义气泡窗口ObjectApp-nvue 2.1.5+、微信小程序、支付宝小程序
aria-label无障碍访问,(属性)元素的额外描述StringApp-nvue 3.1.0+、微信小程序
joinCluster是否参与点聚合Boolean如果指定点聚合 此选项值必须设置为true,才会生效App-nvue 3.1.0+、微信小程序

markertap:点击标记图标事件,这里传的是marker中的ID, 所以你需要将id关联其他详细数据。我这里采用的是数组下标作为marker的ID, 因为我的poiLit的item中包含了marker的信息和其他详细数据,在取值的时候用markerId作为数组索引取值很方便

scale: 是地图缩放的范围,根据自身场景调整

latitude, longitude 当前坐标经纬度就不详细说了,通过uni.getLocation获取就可以了

callout: 标记图标上的气泡, 属性说明见下方表格

item["callout"] = {
content:item.title, display: "ALWAYS", 
bgColor: "#39B54A", color: "#fff", 
borderRadius: 15, padding: '10'}

marker 上的气泡 callout

属性说明类型平台差异说明
content文本StringApp-nvue 2.1.5+、微信小程序、H5、百度小程序、京东小程序、支付宝小程序
color文本颜色StringApp-nvue 2.1.5+、微信小程序、H5、百度小程序、京东小程序
fontSize文字大小NumberApp-nvue 2.1.5+、微信小程序、H5、百度小程序、京东小程序
borderRadiuscallout边框圆角NumberApp-nvue 2.1.5+、微信小程序、H5、百度小程序、京东小程序
borderWidth边框宽度Number微信小程序、京东小程序、百度小程序
borderColor边框颜色String微信小程序、京东小程序、百度小程序
bgColor背景色StringApp-nvue 2.1.5+、微信小程序、H5、百度小程序、京东小程序
padding文本边缘留白NumberApp-nvue 2.1.5+、微信小程序、H5、百度小程序、京东小程序
display'BYCLICK':点击显示; 'ALWAYS':常显StringApp-nvue 2.1.5+、微信小程序、H5、百度小程序、京东小程序
textAlign文本对齐方式。有效值: left, right, centerStringApp-nvue 2.1.5+、微信小程序、百度小程序、京东小程序
anchorX横向偏移量,向右为正数Number微信小程序2.11.0
anchorY纵向偏移量,向下为正数Number微信小程序2.11.0

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

相关文章:

  • 使用vue-next-admin框架后台修改动态路由
  • 2025 OWASP十大智能合约漏洞
  • 用edge浏览器追剧音量太小?安装音量增强器可解忧
  • Flutter调用HarmonyOS NEXT原生相机拍摄相册选择照片视频
  • manim(manimgl)安装教学-win11(2024-08)
  • Ext2 文件系统:数字世界的基石,深度解码超时空存储魔法
  • 鸿蒙开发中的骨架图:提升用户体验的关键一环
  • 兼职全职招聘系统架构与功能分析
  • 过年远控家里电脑打游戏,哪款远控软件最好用?
  • Oracle 数据库常见字段类型大全及详细解析
  • 02.Flink内存模型以及细粒度的资源管理
  • Python 模拟真人鼠标轨迹算法 - 防止游戏检测
  • 【Prometheus】PromQL进阶用法
  • MAC 地址转换为标准大写格式
  • YOLOv9改进,YOLOv9检测头融合DiverseBranchBlock(多样分支块),适合目标检测、分割任务
  • 支持向量机SVM的应用案例
  • Python爬虫获取微店商品详情时如何设置请求头
  • Java毕设项目:基于Springboo校园足球社团网站系统设计与实现开题报告
  • Go项目实战-让自定义Error支持Go的errors.Is判定以及原型模式的应用
  • 高并发内存池_各层级的框架设计及ThreadCache(线程缓存)申请内存设计
  • 使用递归处理无限自关联表
  • 如何使用Python爬虫按关键字搜索AliExpress商品:代码示例与实践指南
  • go读取excel游戏配置
  • 第四天 深入学习JavaScript,包括函数、数组、对象、闭包等
  • VUE3 vite下的axios跨域
  • React 中hooks之 React.memo 和 useMemo用法总结