一.Leaflet简介

官方网站:http://leafletjs.com/

官网上的api和例子大家多看看,多学习学习。

Lefalet 是一个为建设移动设备友好的互动地图,而开发的现代的、开源的 JavaScript 库。它是由 Vladimir Agafonkin 带领一个专业贡献者团队开发,虽然代码仅有 31 KB,但它具有开发人员开发在线地图的大部分功能。

Lefalet 设计坚持简便、高性能和可用性好的思想,在所有主要桌面和移动平台能高效运作,在现代浏览器上会利用HTML5和CSS3的优势,同时也支持旧的浏览器访问。支持插件扩展,有一个友好、易于使用的API文档和一个简单的、可读的源代码。

国外有个MapBox.js也加入了Leaflet的特性和功能,所以有时也可以参考下,MapBox的的文档和例子。

API:https://www.mapbox.com/mapbox.js/api/v1.6.2/

Example:https://www.mapbox.com/mapbox.js/example/v1.0.0/

插件:https://www.mapbox.com/mapbox.js/plugins/

小功能效果:

移动和放缩

// disable drag and zoom handlers

//禁止移动和放大缩小

map.dragging.disable();

map.touchZoom.disable();

map.doubleClickZoom.disable();

map.scrollWheelZoom.disable();

// disable tap handler, if present.

//禁止单击

if (map.tap) map.tap.disable();

单击事件

        var popup = new L.popup();
function onMapClick(e) { popup .setLatLng(e.latlng) .setContent("You clicked the map at " + e.latlng.toString()) .openOn(map); } map.on('click', onMapClick);

添加zoom控制,在右下角

          var zoomControl = L.control.zoom({

                    position: 'bottomright'

          });

          map.addControl(zoomControl);

添加比例尺

L.control.scale().addTo(map);

瓦片图层加载

  L.tileLayer('http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/{z}/{y}/{x}',{

                    maxZoom: 18,

                    reuseTiles: true                         

          }).addTo(map);

添加底图(esri-leaflet插件)

需要引入esri-leaflet.js

github:https://github.com/esri/esri-leaflet

百度盘下载:http://pan.baidu.com/s/1nt0S2JR

         L.esri.basemapLayer("Streets").addTo(map);//此行可行

          //ArcGIS Server Dynamic Map Service, Historic Hurricane Tracks

                    dynLayer = L.esri.dynamicMapLayer(kaifaqu, {

                    opacity: 1,

                    layers: [0, 1]

          });

          map.setView([30.60, 119.65], 9); //浙江
http://www.cnblogs.com/wangcan/

定位

       function onLocationFound(e) {

                    var radius = e.accuracy / 2;

                    L.marker(e.latlng).addTo(map)

                             .bindPopup("You are within " + radius + " meters from this point").openPopup();

                    L.circle(e.latlng, radius).addTo(map);

          }

          map.on('locationfound', onLocationFound);

添加shapefile

来自(http://www.cnblogs.com/wangcan/

需要引入shapefile.js

github:https://github.com/calvinmetcalf/shapefile-js

百度盘(shp.min.js下载后引入即可):http://pan.baidu.com/s/1hq5MuDe

 //添加shapefile
function addShapeFile() { map.setView([34.74161249883172, 18.6328125], 2);
var geo = L.geoJson({
features: []
}, {
onEachFeature: function popUp(f, l) {
//console.info(f);
var out = [];
if (f.properties) {
for (var key in f.properties) {
out.push(key + ": " + f.properties[key]); }
l.bindPopup(out.join("<br />"));
}
}
})//.addTo(map); //保存到 图层数组
map_layers.push(geo);
//此处指向shapefile的zip文件即可
var base = 'files/bou1_4m.zip';
shp(base).then(function(data) {
console.info(data);
geo.addData(data);
}); }

关键词:leaflet.js shapefile esri-leaflet

Leafletjs学习教程和相关代码整理的更多相关文章

  1. AngularJS的学习网站及相关资源整理

    学习angularjs的网站及相关资源的整理,会不断更新. angularJs的官网:https://angularjs.org/       API文档:https://docs.angularjs ...

  2. C#:WebBrowser控件的使用教程及相关问题整理

    推荐阅读: C#WebBrowser控件使用教程与技巧收集--苏飞收集 C# WebBrowser强制在本窗口打开,禁止在新窗口打开 C# WebBrowser禁止在新窗口打开,强制在本窗口打开(多种 ...

  3. 联邦学习 Federated Learning 相关资料整理

    本文链接:https://blog.csdn.net/Sinsa110/article/details/90697728代码微众银行+杨强教授团队的联邦学习FATE框架代码:https://githu ...

  4. listview相关代码整理

    虽然listview已经慢慢被替代了,  不过还是整理下 , 留作纪念吧 /** * 获取 listview 实际滚动的距离. [ 相对于listview的第一个项目左上角.] * * @return ...

  5. Guava 已经学习的代码整理

    Guava 已经学习的代码整理 Guava 依赖: compile group: 'com.google.guava', name: 'guava', version: '18.0' 以下是我自己在开 ...

  6. Tensorflow学习教程------读取数据、建立网络、训练模型,小巧而完整的代码示例

    紧接上篇Tensorflow学习教程------tfrecords数据格式生成与读取,本篇将数据读取.建立网络以及模型训练整理成一个小样例,完整代码如下. #coding:utf-8 import t ...

  7. ASP.NET MVC 5 学习教程:生成的代码详解

    原文 ASP.NET MVC 5 学习教程:生成的代码详解 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 创建连接字符串 ...

  8. IOS开发-OC学习-常用功能代码片段整理

    IOS开发-OC学习-常用功能代码片段整理 IOS开发中会频繁用到一些代码段,用来实现一些固定的功能.比如在文本框中输入完后要让键盘收回,这个需要用一个简单的让文本框失去第一响应者的身份来完成.或者是 ...

  9. LImax服务器框架学习--安装、使用ant工具、生成limax相关代码

    一.安装ant ant 是一个将软件编译.测试.部署等步骤联系在一起加以自动化的一个工具,大多用于Java环境中的软件开发.在实际软件开发中,有很多地方可以用到ant. 首先现在一个ant安装压缩包, ...

随机推荐

  1. 一道SQL的面试题之联想

    一道SQL的面试题之联想 本人工作在一家小型的民营企业,主要从事业务系统的日常维护,二次开发,菜鸟一枚.周五经理准备面试两个开发人员,据简历,都还比较不错,让经理产生了想法,于是准备了一套面试题目,给 ...

  2. git之cherry-pick

    当想把当前分支提交的代码,也在其他分支提交,那可以用cherry-pick命令. 1 假设在master分支commit的id为:abc12345; 2 切换到其他分支,如develop分支; 3 在 ...

  3. SqlServer 用户和权限操作

    use [master] GO --创建用户,Test,密码Test CREATE LOGIN [TestUser] WITH PASSWORD=N'Test', DEFAULT_DATABASE=[ ...

  4. Admin.Admin/Login --- 后台项目中的管理员及登录模块

    管理员模块: using System; using System.Collections.Generic; using System.Linq; using System.Web; using Sy ...

  5. C语言库在不同系统下的后缀

    C语言的静态库与动态库对比分析,各有长短 库:  指由标准常用函数编译而成的文件,旨在提高常用函数的可重用性,减轻开发人员负担.常用的sdtio.h,math.h等                 库 ...

  6. 【转】 Pro Android学习笔记(八三):了解Package(2):包签名过程

    目录(?)[-] 类比例子 数字签名 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在W ...

  7. MockMVC

    随着RESTful Web Service的流行,测试对外的Service是否满足期望也变的必要的.从Spring 3.2开始Spring了Spring Web测试框架 Spring MVC测试框架提 ...

  8. 某个应用使cpu使用率100%

    --CPU使用率 Linux是一个多任务的操作系统,将每个cpu的时间划分为很短的时间片,再通过调度器轮流分配给各个任务使用,因此造成多任务同时运行的错觉 为了维护cpu时间,linux通过事先定义的 ...

  9. PostgreSQL 9.5 客户端认证

    PostgreSQL 9.5 客户端认证 当一个客户端应用连接一个数据库服务器时,它将指定以哪个PostgreSQL 数据库用户名连接,就像我们以一个特定用户登录一台 Unix 计算机一样.在 SQL ...

  10. C#引用类库时出现黄色三角加感叹号的处理

    C#引用类库时出现黄色三角加感叹号的处理方法 一个C#项目 在引用中有个引用项上有个黄色三角加感叹号 导致报错 类库的目标框架不一致,修改成一样就可以了. 选中类库右击属性:“目标框架”,修改成与引用 ...