目录

官方解析

博主栗子


官方解析

Leaflet 1.0中出现了处理者这个新概念,处理浏览器里的dom事件单击,双击,地图滑动及map状态的改变。

当处理者启动时调用addHooks()函数,未启动时调用removeHooks(),结构如下:

L.CustomHandler = L.Handler.extend({addHooks: function() {L.DomEvent.on(document, 'eventname', this._doSomething, this);},removeHooks: function() {L.DomEvent.off(document, 'eventname', this._doSomething, this);},_doSomething: function(event) { … }
});

下面这个是当设备倾斜时平移地图(此处的代码没有试过,不知道能不能成功)!

L.TiltHandler = L.Handler.extend({addHooks: function() {L.DomEvent.on(window, 'deviceorientation', this._tilt, this);},removeHooks: function() {L.DomEvent.off(window, 'deviceorientation', this._tilt, this);},_tilt: function(ev) {// Treat Gamma angle as horizontal pan (1 degree = 1 pixel) and Beta angle as vertical panthis._map.panBy( L.point( ev.gamma, ev.beta ) );}
});

下面的代码是映射

L.Map.addInitHook('addHandler', 'tilt', L.TiltHandler);

如果映射与处理程序名相同,那么默认是开启的

var map = L.map('mapDiv', { tilt: true });

下面这个例子是移动浏览器的,没有用移动浏览器试,在此不说了!

下面是控制,这个提供了一个例子,这个例子是给地图加一个水印(这个水印只是像水印,并不是真正的水印,获取瓦片后,图片还是没有水印)

L.Control.Watermark = L.Control.extend({onAdd: function(map) {var img = L.DomUtil.create('img');img.src = '../../docs/images/logo.png';img.style.width = '200px';return img;},onRemove: function(map) {// Nothing to do here}
});L.control.watermark = function(opts) {return new L.Control.Watermark(opts);
}L.control.watermark({ position: 'bottomleft' }).addTo(map);

博主栗子

下面写一个为地图加水印的例子!

程序运行截图如下:

这里加了一个很骚气的小黄人。

代码如下:

<!DOCTYPE html>
<html>
<head><title>Hello World</title><meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0"><link rel="shortcut icon" type="image/x-icon" href="docs/images/favicon.ico" /><link rel="stylesheet" href="leaflet.css" /><script src="leaflet.js"></script>        <script src="leaflet-tilelayer-wmts-src.js"></script><script src="echarts.js"></script><style>html, body {height: 100%;margin: 0;}#map {width: 100%;height: 100%;}.chart{width: 600px;height: 300px;background-color: #fff;}</style></head>
<body>
<div id='map'></div>
<script type="text/javascript">var ign = new L.TileLayer.WMTS( "http://XXX.XXX.XXX.XXX:8080/geoserver/gwc/service/wmts" ,{layer: 'GG_9:gg_9',tilematrixset: "EPSG:900913",Format : 'image/png',TileMatrix: 'EPSG:900913:8'});var map = L.map('map', {minZoom: 4,maxZoom: 7}).setView([32, 118], 7);L.control.scale({'position':'bottomleft','metric':true,'imperial':false}).addTo(map);map.addLayer(ign);map.invalidateSize(true);//添加的数据L.Control.mark1 = L.Control.extend({onAdd: function(map){var img = L.DomUtil.create('img');img.src = './img/marker6.ico';return img;},onRemove: function(map){}});L.control.mark1 = function(opts){return new L.Control.mark1(opts);}L.control.mark1({position : 'bottomleft'}).addTo(map);//添加的数据</script></body>
</html>

Leaflet文档阅读笔记-Extending Leaflet: Handlers and Controls笔记相关推荐

  1. Leaflet文档阅读笔记-Quick Start Guide笔记

    目录 网络加载JS和CSS 初始化地图 在地图上做标记 在地图上点击事件获得坐标 个人对这篇文档的体会 网络加载JS和CSS 先要加载css,然后在加载js <link rel="st ...

  2. Leaflet文档阅读笔记- Showing video files解析

    目录 官方解析 博主例子 官方解析 这里,官方首先告诉我们,当<video>这个标签还没出现的时候,在web上展示视频是很艰巨的.现在有了这个标签,只需要如下代码就能在web页面上展示视频 ...

  3. Leaflet文档阅读笔记-Zoom levels笔记

    目录 官方解析 博主例子 官方解析 把地图放缩锁定到0级 var map = L.map('map', {minZoom: 0,maxZoom: 0 });var cartodbAttribution ...

  4. Leaflet文档阅读笔记-Using GeoJSON with Leaflet笔记

    目录 官方解析 博主例子 官方解析 个人觉得这官方教程给得是相当的好,因为功能非常的强大,在此记录下,方便以后使用,以后肯定会经常用到! 此节将会学到从GeoJson对象中创建且调用map vecto ...

  5. Leaflet文档阅读笔记-Markers With Custom Icons笔记

    目录 官方解析 博主例子 官方解析 这个内容主要是把自定义图片,放到地图上,并且还可以增加阴影图片,以及点击图片后的弹出事件. 官方是准备了下面这4张图片: 使用下面这种方式可以单独设置,自定义图标 ...

  6. Leaflet文档阅读笔记-Leaflet on Mobile笔记

    目录 CSS和HTML改如何设置 定位功能 CSS和HTML改如何设置 如下的设置: body {padding: 0;margin: 0; } html, body, #map {height: 1 ...

  7. Qt文档阅读笔记-共享库的创建与调用

    使用共享库的符号 这个符号可以作用在变量.类.函数中,并且这些都可以被调用端使用. 在编译共享库中,需要使用export符号.在使用端调用的时候使用import符号. 这里是本人从文档中记录的笔记,大 ...

  8. Qt文档阅读笔记-加载HeightMap(高度图)构造3D地形图

    Qt文档阅读笔记-加载HeightMap(高度图)构造3D地形图 QHeightMapSurfaceDataProxy:是Q3DSurface的一个基本代理类. 他是专门加载高度图. 高度图是没有X, ...

  9. Qt文档阅读笔记-Rotations Example相关

    Rotations Example文档阅读笔记 使用这种方式,对y轴和z轴进行旋转. QQuaternion yRotation = QQuaternion::fromAxisAndAngle(0.0 ...

最新文章

  1. 这些 AI 大咖的实践干货,从事人工智能的你应该知道
  2. 正则化方法/防止过拟合提高泛化能力的方法:L1和L2 regularization、数据集扩增、dropout
  3. 《系统集成项目管理工程师》必背100个知识点-90信息系统安全属性
  4. 收货地址 - 设置默认收货地址
  5. “约见”面试官系列之常见面试题之第七十五篇之vue中如何使当前css起作用(建议收藏)
  6. 与MQ通讯的完整JAVA程序
  7. 最新emoji表情代码大全_如何给微信公众号菜单添加emoji(亲测有效)
  8. 一片文章带你理解再生核希尔伯特空间(RKHS)以及各种空间
  9. python应该怎么样自学_Python该如何自学?
  10. SICNU ACM新生第一次考核
  11. UVA 11909 Soya Milk(简单数学三角函数计算)
  12. Android Studio 连接逍遥模拟器
  13. python打开word并插入图片_Python操作word文档插入图片和表格的实例演示
  14. springboot实现微信模板消息推送
  15. Virtual Box 后台运行虚拟机
  16. 中兴pon网络olt升级,更新,原理,实例
  17. matlab程序代码 伪码捕获_MATLAB程序转为伪代码
  18. jsp---JSTL核心标签
  19. 关于获取修改windows计算机名
  20. 远程桌面连接禁用本地磁盘

热门文章

  1. 程序员年薪高达40万,为什么有很多程序员单身?看看网友怎么说!
  2. 数据分析不能挣钱、不能给公司创造利润,那要你有什么用?
  3. 扎金花游戏 PHP 实现代码之大小比赛
  4. 一进庙会freeeim
  5. 飞鸽推广的超级商务微博的栏目介绍(二)
  6. WaitForSingleObject 和 EnterCriticalSection 效率比较
  7. 学VBSCRIPT从学起
  8. 程序员年纪越大,工作被取代性越强
  9. 测试工程师听了想打人
  10. java写的学生信息查询系统_Java编写学生信息查询系统,报错!!!