为什么选择Leaflet

开源,且代码仅有 31 KB,但它具有开发人员开发在线地图的大部分功能(80%的功能) 是不是比arcgis要小很多呢

官网:http://leafletjs.com/

劣势:国内的资源比较少 想要精通那么多学习英语吧

加载天地图/高德/MapABC

下载实例:https://github.com/htoooth/Leaflet.ChineseTmsProviders

在项目中加入leaflet.ChineseTmsProviders.js文件

这里注意,该文件中包含了三个地图,如果你仅用了天地图,那么可以把另外两个地图去掉精简代码,虽然只是少了很小一部分,我们用Leaflet的目的不就是为了精简代码吗

下面是天地图的示例:        ↓↓↓↓↓↓↓↓↓↓↓↓

<script type="text/javascript">
//地图
var normalm = L.tileLayer.chinaProvider('TianDiTu.Normal.Map',{maxZoom:18,minZoom:5}),
normala = L.tileLayer.chinaProvider('TianDiTu.Normal.Annotion',{maxZoom:18,minZoom:5}),
imgm = L.tileLayer.chinaProvider('TianDiTu.Satellite.Map',{maxZoom:18,minZoom:5}),
imga = L.tileLayer.chinaProvider('TianDiTu.Satellite.Annotion',{maxZoom:18,minZoom:5}); var normal = L.layerGroup([normalm,normala]),
image = L.layerGroup([imgm,imga]); var baseLayers = {
"地图":normal,
"影像":image,
} var overlayLayers = { //你可以叠加其他的图层 } var map = L.map("map",{
center:[31.59, 120.29],
zoom:12,
layers:[normal],
zoomControl:false
}); L.control.layers(baseLayers,overlayLayers).addTo(map);
L.control.zoom({zoomInTitle:'放大', zoomOutTitle:'缩小'}).addTo(map);
</script>

Leaflet的几个Control

放大缩小:

L.control.zoom({ zoomInTitle: '放大', zoomOutTitle: '缩小', position: 'topright' }).addTo(map);

切换地图:

var baseLayers = {
"地图": normal,
"影像": image,
} var overlayLayers = {
"公司": companylayer,
"景区": spotlayer,
} L.control.layers(baseLayers, overlayLayers).addTo(map);

比例尺:

L.control.scale().addTo(map);  //比例尺

地图注释:

L.control.attribution({ position: 'bottomleft', prefix: 'myMap' }).addTo(map); 

简单的Events

地图点击事件(单击/双击)

你可以把他们分开来写

map.on('click', showMapPosition);    //点击地图
map.on('dblclick',addPoint); //双击地图 //map.off(....) 关闭该事件 function showMapPosition(e)
{
alert(e.latlng);
} function addPoint(e)
{
var marker = L.marker([e.latlng.lat, e.latlng.lng]).addTo(map);
}

也可以放在一起

map.on('click', function(e) {
alert(e.latlng);
});

转载请注明原地址:http://i.cnblogs.com/EditPosts.aspx?postid=4919987

Leaflet学习笔记-基础内容的更多相关文章

  1. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  2. 数论算法 剩余系相关 学习笔记 (基础回顾,(ex)CRT,(ex)lucas,(ex)BSGS,原根与指标入门,高次剩余,Miller_Rabin+Pollard_Rho)

    注:转载本文须标明出处. 原文链接https://www.cnblogs.com/zhouzhendong/p/Number-theory.html 数论算法 剩余系相关 学习笔记 (基础回顾,(ex ...

  3. Python学习笔记基础篇——总览

    Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列 ...

  4. 《python基础教程(第二版)》学习笔记 基础部分(第1章)

    <python基础教程(第二版)>学习笔记 基础部分(第1章)python常用的IDE:Windows: IDLE(gui), Eclipse+PyDev; Python(command ...

  5. Python学习笔记——基础篇【第六周】——面向对象

    Python之路,Day6 - 面向对象学习 本节内容:   面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法.       同时可参考链接: http:// ...

  6. Java学习笔记——基础篇

    Tips1:eclipse中会经常用到System.out.println方法,可以先输入syso,然后eclipse就会自动联想出这个语句了!! 学习笔记: *包.权限控制 1.包(package) ...

  7. Arduino—学习笔记—基础语法

    图解 函数具体讲解 pinMode(工作接脚,模式) 工作接脚 工作接脚编号(0--13与A0--A5) 模式 工作模式:INPUT或OUTPUT 例子 将8接口设置为输出模式 pinMode(8,O ...

  8. python学习之基础内容

    python基础内容① 什么是python? -一种计算机语言,计算机语言分为 -高级语言:python.java.Ruby.C#.C++...... -基础语言:C语言.汇编 -计算机可以直接执行基 ...

  9. iOS学习笔记——基础控件(上)

    本篇简单罗列一下一些常用的UI控件以及它们特有的属性,事件等等.由于是笔记,相比起来不会太详细 UIView 所有UI控件都继承于这个UIView,它所拥有的属性必是所有控件都拥有,这些属性都是控件最 ...

随机推荐

  1. Installing the PHP/MongoDB extension on Mac OSX 10.8

    Installing PHP/MongoDB extension is a two steps task on OSX: Install the autoconf tool required for ...

  2. Emmet最全提示说明

    前一篇文章简单了说明了Emmet的使用:Emmet相关使用 今天我就将关于subline中Emmet插件的snippets.json文件进行具体说明, 在snippets.json文档中,我们能够看到 ...

  3. 【Android】BroadCast广播机制应用与实例

    如何编写广播接收器 第一步:需要继承BroadcastReceiver类,覆写其中的onReceive()方法. class MyBroadcastReceiver extends Broadcast ...

  4. Android中FTP服务器、客户端搭建以及SwiFTP、ftp4j介绍

    本文主要内容: 1.FTP服务端部署---- 基于Android中SwiFTP开源软件介绍: 2.FTP客户端部署 --- 基于ftp4j开源jar包的客户端开发 : 3.使用步骤 --- 如何测试我 ...

  5. Windows8下如何使用命令行--转载

    原文地址:http://jingyan.baidu.com/article/a501d80ce26fecec630f5ee0.html 命令行可用于实现一些没有图形界面的操作,然而windows8下的 ...

  6. How Network Load Balancing Technology Works--reference

    http://technet.microsoft.com/en-us/library/cc756878(v=ws.10).aspx In this section Network Load Balan ...

  7. 高质量CSS编写规范

    ①id和class的命名在保持语义性的同时尽可能的短.不推荐的写法:#navigation {} .atr {}推荐的写法  : #nav {} .author {}可以缩写单词,但缩写后务必能让人明 ...

  8. apache+php+mysql最新版windows下

    卸载以前的Apache 1.控制面板先卸载 2.删除E:\Program Files (x86)\Apache Software Foundation下的apache目录 一.安装apache 1.c ...

  9. java class 文件解析

    参考下面两个文章对一个class文件进行解析: http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.4.6 htt ...

  10. Mysql+keeplived+lvs

    最近要做个高可用的mysql.用mysql主主复制方式保证两台数据库的数据一致.结合lvs和keepalived一起使用(keepalived+lvs的设置会再另外一篇文章里写). 搭好环境之后,本人 ...