使用marker的一些内容
因为最近在搞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的一些内容的更多相关文章
- Python:2D画图库matplotlib学习总结
本文为学习笔记----总结!大部分为demo.一部分为学习中遇到的问题总结.包含怎么设置标签为中文等.matlab博大精深.须要用的时候再继续吧. Pyplot tutorial Demo地址为:点击 ...
- PokemonGo:LBS游戏开发
写在前面 去吧!皮卡丘!小时候拥有一台任天堂是多少熊孩子的梦想,每个夜晚被窝里透出的微弱光线,把小小的童年带入另一个世界,家门口的鸟和狗,森林里的虫和瀑布,山洞里的超音蝠,带着小小的梦,走过一个个城市 ...
- css内容样式属性
设置元素的最大高度.最小高度.最大宽度.最小宽度,用max-height.min-height.max-width.min-width. visibility:设置元素是否可见.visible和hid ...
- 【Leafletjs】2.添加marker到地图
本人建了一个Leaflet交流群:Leaflet&WebGIS 331437754 接着上篇我们在地图中添加一个marker,非常简单只需添加如下代码即可: var marker = L.m ...
- 【高德地图API】如何设置Marker的offset?
一些朋友在往地图上添加标注的时候,往往会发现,图片的尖尖角对不上具体的点.比如,我要在上海东方明珠上扎一个点. 首先,我使用取点工具http://lbs.amap.com/console/show/p ...
- Arcgis for Javascript API下类似于百度搜索A、B、C、D marker的实现方式
原文:Arcgis for Javascript API下类似于百度搜索A.B.C.D marker的实现方式 多说无益,首先贴两张图让大家看看具体的效果: 图1.百度地图搜索结果 图2.Arcgis ...
- H5小内容(五)
Geolocation(地理定位) 基本内容 地理定位 - 地球的经度和纬度的相交点 实现地理定位的方式 GPS - 美国的,依靠卫星定位 北斗定位 - 纯 ...
- Google Map API v2 (三)----- 地图上添加标记(Marker),标记info窗口,即指定经纬度获取地址字符串
接上篇 http://www.cnblogs.com/inkheart0124/p/3536322.html 1,在地图上打个标记 private MarkerOptions mMarkOption; ...
- 读取Webpage表中的内容
nutch将从网页中抓取到的信息放入hbase数据库中,默认情况下表名为$crawlId_webpage,但表中的内容以16进制进行表示,直接scan或者通过Java API进行读取均只能读取到16进 ...
随机推荐
- OpenStack平台镜像优化
在使用打快照方式制作镜像后,镜像的大小会变得非常大,比如一个基础的CentOS镜像大小为400M左右,但是使用打快照方式制作的镜像大小会有1个G左右,具体的大小还要根据安装的东西来实际情况实际分析. ...
- 软件开发架构,网络编程简介,OSI七层协议,TCP和UDP协议
软件开发架构 什么是软件开发架构 1.软件架构是一个系统的草图. 2.软件架构描述的对象是直接构成系统的抽象组件. 3.各个组件之间的连接则明确和相对细致地描述组件之间的通讯. 4.在实现阶段,这些抽 ...
- Node.js躬行记(20)——KOA源码分析(下)
在上一篇中,主要分析了package.json和application.js文件,本文会分析剩下的几个文件. 一.context.js 在context.js中,会处理错误,cookie,JSON格式 ...
- nginx反向代理获取用户真实ip
nginx做反向代理时,默认的配置后端获取到的ip都是来自于nginx,如何转发用户的真实ip到后端程序呢?如是是java后端,用request.getRemoteAddr();获取到的是nginx的 ...
- Spring Boot整合模板引擎thymeleaf
项目结构 引入依赖pom.xml <!-- 引入 thymeleaf 模板依赖 --> <dependency> <groupId>org.springframew ...
- 【Java面试】Spring中 BeanFactory和FactoryBean的区别
一个工作了六年多的粉丝,胸有成竹的去京东面试. 然后被Spring里面的一个问题卡住,唉,我和他说,6年啦,Spring都没搞明白? 那怎么去让面试官给你通过呢? 这个问题是: Spring中Bean ...
- python将test01文件夹中的文件剪切到test02文件夹中
将test01文件夹中的文件剪切到test02文件夹中 import shutil import os def remove_file(old_path, new_path): print(old_p ...
- P4169 [Violet]天使玩偶
两种操作:1.加入点(x,y); 2.查询距(x,y)最近的点的曼哈顿距离距离 思路:绝对值拆开通常可以取max,不过这里直接分类讨论4种情况,我们发现如果找\(i\)点左下点\(j\)\((x_j& ...
- C#/VB.NET 在PDF表格中添加条形码
条码的应用已深入生活和工作的方方面面.在处理条码时,常需要和各种文档格式相结合.当需要在文档中插入.编辑或者删除条码时,可借助于一些专业的类库工具来实现.本文,以操作PDF文件为例,介绍如何在编辑表格 ...
- .NET C#基础(6):命名空间 - 组织代码的利器
0. 文章目的 面向C#新学者,介绍命名空间(namespace)的概念以及C#中的命名空间的相关内容 1. 阅读基础 理解C与C#语言的基础语法 2. 名称冲突与命名空间 2.1 一个生活例 ...