因为最近在搞uni-app的地图项目,所以大量使用了uni-app中的地图组件

虽然uni-app还是一个小学生水平,但是自己也想了很多

本期就来谈一谈uni-app中的marker,里面的好的内容和一些小坑和大家share一下:

首先,老样子,上手册链接 https://uniapp.dcloud.io/component/map.html#app%E5%B9%B3%E5%8F%B0%E5%9C%B0%E5%9B%BE%E6%9C%8D%E5%8A%A1%E5%95%86%E5%B7%AE%E5%BC%82

对于手册来说marker的内容就是使用marker数组的使用方法,以及相对来说的一些属性

手册上给的例子是一个数组的情况:

export default {
data() {
return {
id:0, // 使用 marker点击事件 需要填写id
title: 'map',
latitude: 39.909,
longitude: 116.39742,
covers: [{
latitude: 39.909,
longitude: 116.39742,
iconPath: '../../../static/location.png'
}, {
latitude: 39.90,
longitude: 116.39,
iconPath: '../../../static/location.png'
}]
}
},
methods: { }
}

当然,实际使用中并不可能都是,我们只在数组中使用一个数值
因为数组中的一个数值,对应到地图上就是一个标记点,也就是我们所说的
一个marker
因此,就是数组的拓展内容啦~
也就是这样:
{
id: 1,
width: 40,
height: 40,
latitude: 26
longitude: 117
iconPath: '/static/signPoint.png',
"callout": {
"content": "上饶",
"fontSize": 14,
"borderRadius": 5,
"display": "ALWAYS",
"padding": 7,
"bgColor": "#ffffff"
}
}, {
id: 2, //唯一的ID值,每个mark都不一样
width: 40, //宽度
height: 40, //长度
latitude: 26 //中心精度之一
longitude: 118 //中心精度之一
iconPath: '/static/signPoint.png', //对应的地图上标点的样式
"callout": { //气泡
"content": "天山", //callout上面的显示内容
"fontSize": 14, //callout上面内容字体
"borderRadius": 5, //callout边缘的圆滑程度(用我自己话来讲)
"display": "ALWAYS", //callout总是显示
"padding": 7, //边距
"bgColor": "#ffffff" //背景颜色,这个和tabbar好像是一样的,不是所有的颜色都支持
}
},

基本的数组结构,就和C++的一样

后面的callout就是marker中的一些属性,用处标记在代码上了

callout中的一些属性,里面的内容也注释到代码上了

然后就是本章想说的内容,markerTap  //marker点击事件,也就是点击marker,我们的标记的事件

markerTap默认是显示在console上面的,

但是,我们为了点击不同的marker,获得不同的输出

就有了下面的代码:

markerTap(e) {
console.log(e)
var clickmarkerId = e.detail.markerId
//根据e.mp.detail.markerId跟撒点的id进行判断,如果相等就进行赋值
for (var i = 0; i < this.markers.length; i++) {
if (this.markers[i].id == clickmarkerId) {
if (clickmarkerId == 0) {
console.log("成功点击0")
}
if (clickmarkerId == 1) {
console.log("成功点击1")
}
console.log(this.markers[i].id)
}
}
},

也就是方法中定义markerTap方法,markerTap方法是默认回调一个e参数的,使用遍历,再对比,就可以很好的把点击不同的marker进行不同的操作写出来了

因为这里是测试内容,所以写了console的输出内容

————————————————————————————————————————————————————————————————————————————————————————————

对于marker的东西就分享到这里,欢迎大家评论区留下想问的内容

我们可以一起学习解决~

QAQ

最新文章

  1. jdbc java数据库连接 4)PreParedStatement接口 之 区别和例子
  2. hibernate基础
  3. AC日记——输出亲朋字符串 openjudge 1.7 05
  4. scala 学习笔记(07) 一等公民的函数
  5. Rhel6-moosefs分布式存储配置文档
  6. TCP/IP详解 学习三
  7. Tcl之Intro
  8. C#中ToString和Formate格式大全
  9. 托盘图标、气泡以及任务栏崩溃后的自动添加——Shell_NotifyIcon
  10. Lintcode--006(交叉字符串)
  11. API验证及AES加密
  12. 如何查看linux中文件打开情况
  13. Batchnorm
  14. Problem A: 重载字符的加减法
  15. python自学第10天,生成器
  16. 【转】Shell编程基础篇-上
  17. [Unity插件]Lua行为树(三):组合节点Sequence
  18. react如何引入外部文件的整理
  19. JAVA读取MongoDB中的二进制图片并在jsp中显示
  20. post方式提交数据

热门文章

  1. 中间件漏洞之Nginx
  2. .NET混合开发解决方案12 网页JS调用C#方法访问WinForm或WPF窗体
  3. 网络协议之:sctp流控制传输协议
  4. redis &amp; redis sentinel
  5. MySQL深入学习-day1
  6. 49. Group Anagrams - LeetCode
  7. Sqoop导入数据到mysql数据库报错:ERROR tool.ExportTool: Error during export: Export job failed!(已解决)
  8. bintree
  9. java中关于while(true)的理解
  10. CabloyJS究竟是一款什么样的框架