因为最近在搞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

使用marker的一些内容的更多相关文章

  1. Python:2D画图库matplotlib学习总结

    本文为学习笔记----总结!大部分为demo.一部分为学习中遇到的问题总结.包含怎么设置标签为中文等.matlab博大精深.须要用的时候再继续吧. Pyplot tutorial Demo地址为:点击 ...

  2. PokemonGo:LBS游戏开发

    写在前面 去吧!皮卡丘!小时候拥有一台任天堂是多少熊孩子的梦想,每个夜晚被窝里透出的微弱光线,把小小的童年带入另一个世界,家门口的鸟和狗,森林里的虫和瀑布,山洞里的超音蝠,带着小小的梦,走过一个个城市 ...

  3. css内容样式属性

    设置元素的最大高度.最小高度.最大宽度.最小宽度,用max-height.min-height.max-width.min-width. visibility:设置元素是否可见.visible和hid ...

  4. 【Leafletjs】2.添加marker到地图

    本人建了一个Leaflet交流群:Leaflet&WebGIS  331437754 接着上篇我们在地图中添加一个marker,非常简单只需添加如下代码即可: var marker = L.m ...

  5. 【高德地图API】如何设置Marker的offset?

    一些朋友在往地图上添加标注的时候,往往会发现,图片的尖尖角对不上具体的点.比如,我要在上海东方明珠上扎一个点. 首先,我使用取点工具http://lbs.amap.com/console/show/p ...

  6. Arcgis for Javascript API下类似于百度搜索A、B、C、D marker的实现方式

    原文:Arcgis for Javascript API下类似于百度搜索A.B.C.D marker的实现方式 多说无益,首先贴两张图让大家看看具体的效果: 图1.百度地图搜索结果 图2.Arcgis ...

  7. H5小内容(五)

    Geolocation(地理定位)   基本内容     地理定位 - 地球的经度和纬度的相交点     实现地理定位的方式       GPS - 美国的,依靠卫星定位       北斗定位 - 纯 ...

  8. Google Map API v2 (三)----- 地图上添加标记(Marker),标记info窗口,即指定经纬度获取地址字符串

    接上篇 http://www.cnblogs.com/inkheart0124/p/3536322.html 1,在地图上打个标记 private MarkerOptions mMarkOption; ...

  9. 读取Webpage表中的内容

    nutch将从网页中抓取到的信息放入hbase数据库中,默认情况下表名为$crawlId_webpage,但表中的内容以16进制进行表示,直接scan或者通过Java API进行读取均只能读取到16进 ...

随机推荐

  1. 探索ABP的EventHub解决方案

    在上一章中,我们构建了一个简单的全栈 Web 应用程序,我们已经看到了使用 ABP 框架开发应用的典型流程,在接下来,我们将使用 ABP 框架创建更高级的应用程序. 给出具有现实世界复杂性的例子并不容 ...

  2. 用了Scrum越来越累?这三点帮你走出困境

    摘要:你有没有一种感觉,团队用了Scrum之后,工作任务越来越多,加班越来越严重?有?好兄弟,这篇文章正好能帮你~ 本文分享自华为云社区<用了Scrum越来越累?这三点帮你走出困境>,作者 ...

  3. unity---给物体施加普通力和位置力

    普通力 让物体沿着某一方向获得一个力,vector3方向 addForceObj.GetComponent<Rigidbody>().AddForce(1000,0,1000); 位置力 ...

  4. TENSEAL: A LIBRARY FOR ENCRYPTED TENSOR OP- ERATIONS USING HOMOMORPHIC ENCRYPTION 解读

    本文记录阅读该paper的笔记,这篇论文是TenSeal库的原理介绍. 摘要 机器学习算法已经取得了显著的效果,并被广泛应用于各个领域.这些算法通常依赖于敏感和私有数据,如医疗和财务记录.因此,进一步 ...

  5. TypeError: this.getOptions is not a function

    我在vue ui界面中安装版本依赖包后报这个错误 less-loader/sass-loader安装的版本过高 解决办法 删除原有的版本依赖包,安装更低版本的依赖包. 如 @6.0.1为选择安装的版本 ...

  6. UniqueMergeTree:支持实时更新删除的 ClickHouse 表引擎

    UniqueMergeTree 开发的业务背景 首先,我们看一下哪些场景需要用到实时更新. 我们总结了三类场景: 第一类是业务需要对它的交易类数据进行实时分析,需要把数据流同步到 ClickHouse ...

  7. 最强肉坦:RUST多线程

    Rust最近非常火,作为coder要早学早享受.本篇作为该博客第一篇学习Rust语言的文章,将通过一个在其他语言都比较常见的例子作为线索,引出Rust的一些重要理念或者说特性.这些特性都是令人心驰神往 ...

  8. mysql刷题笔记

    近期,为提升自己的工程能力,在休息时常通过刷题来回顾一下基础性知识. 于是选择了牛客网上的mysql知识题库练手,过程中,主要遇到了几个比较有意思的题,记录下来,方便回顾. 题1:SQL29 计算用户 ...

  9. django框架12

    内容概要 csrf相关装饰器 基于中间件思想编写项目 auth认证模块 auth模块方法大全 auth扩展表字段 项目开发流程 bbs数据表分析 内容详情 csrf相关装饰器 基于中间件思想编写项目 ...

  10. Python装饰器Decorators

    def hi(name="yasoob"): return "hi " + name print(hi()) # 我们甚至可以将一个函数赋值给一个变量,比如 g ...