使用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进 ...
随机推荐
- 爬虫--Scrapy框架的初步使用
1.scrapy在windows环境下安装 - 环境的安装: a. pip3 install wheel b. 下载twisted: http://www.lfd.uci.edu/~gohlke/py ...
- 用NetworkX生成并绘制(带权)无向图
NetworkX是一个非常强大的网络科学工具,它封装了图的数据结构和许多经典图算法,也内置了许多可视化函数可供调用. 1. 随机图生成 最经典的随机图当属我们在上一篇博客<Erdos-Renyi ...
- 循环中的scanf处理了换行符怎么破
这种情况一般在循环中要求输入一个字符时容易出现问题. 问题在于缓冲区,缓冲区中存留了换行符,所以... 运行下面代码: int main(void){ char a=0; while(1){ scan ...
- Git命令行提交代码步骤
先进入对应的项目目录 1.拉取服务器代码,避免覆盖他人代码 git pull 2.查看当前项目中有哪些文件被修改过 git status 具体状态如下: 1:Untracked: 未跟踪,一般为新增文 ...
- 无线:NB-IoT
一. NB总体网络架构 NB-IoT端到端系统架构如下图所示: 终端:UE(User Equipment),通过空口连接到基站(eNodeB(evolved Node B , E-UTRAN 基站)) ...
- 148_赠送300家门店260亿销售额的零售企业Power BI实战示例数据
焦棚子的文章目录 一背景 2022年即将到来之际,笔者准备在Power BI中做一个实战专题,作为实战专题最基础的就是demo数据,于是我们赠送大家一个300家门店,260亿+销售额,360万行+的零 ...
- 在Vmware虚拟机(win10)中安装逍遥安卓模拟器遇到的问题及解决办法
0x00 下载正确的安装包 逍遥模拟器官网:逍遥安卓模拟器下载官网 (xyaz.cn) 为什么要强调下载正确的安装包? 因为我在第一次下载的时候就下错了,下的是 逍遥模拟器 - 电脑玩手游神器 (me ...
- 使用argparse进行调参
argparse是深度学习项目调参时常用的python标准库,使用argparse后,我们在命令行输入的参数就可以以这种形式python filename.py --lr 1e-4 --batch_s ...
- 且看这个Node全栈框架,实现了个Cli终端引擎,可无限扩充命令集
背景介绍 一般而言,大多数框架都会提供Cli终端工具,用于通过命令行执行一些工具类脚本 CabloyJS提供的Cli终端工具却与众不同.更确切的说,CabloyJS提供的是Cli终端引擎,由一套Cli ...
- Maven POM文件介绍
1. POM文件是什么 1.1 Super POM 1.2 Minimal POM 1.3 Effective POM 3. 项目继承 和 项目聚合 2.1 Project Inheritance 项 ...