Leaflet学习笔记-基础内容

为什么选择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);
});
时间: 2024-10-11 13:57:44

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

Objective-c学习笔记—— 基础内容

6.5.1 多重继承 Python也支持多种继承形式.一个能继承多个基类的类定义如下: class DerivedClassName(Base1, Base2, Base3): <statement-1> . . . <statement-N> 大多数情况,最简单而言,你可以把从父类继承下来的属性查询看成是遵循深度优先,从左到右. 而不是在同一等级重复的同样类中执行两次.因此,如果一个属性没在派生类中找到,首先会在base1然后再base1的基类中,如果在那里都没发现,就会在bas

hadoop学习笔记——基础知识及安装

1.核心 HDFS  分布式文件系统    主从结构,一个namenoe和多个datanode, 分别对应独立的物理机器 1) NameNode是主服务器,管理文件系统的命名空间和客户端对文件的访问操作.NameNode执行文件系统的命名空间操作,比如打开关闭重命名文件或者目录等,它也负责数据块到具体DataNode的映射 2)集群中的DataNode管理存储的数据.负责处理文件系统客户端的文件读写请求,并在NameNode的统一调度下进行数据块的创建删除和复制工作. 3)NameNode是所有

渗透学习笔记--基础篇--sql注入(字符型)

环境:dvwa1.7数据库:mysql前置知识:sql语句(Click me)      在进行sql注入前,我们先熟悉熟悉select语句.一.打开我们的sql终端 二.进入之后可以看到有mysql>我们输入sql语句,即可返回我们想要的结果,注意分号哟!我们使用的dvwa,在我们前几章设置的时候,会在数据库中生成一个dvwa的database:这里我们使用它来进行我们的select 语句:(1)使用dvwa数据库use dvwa;(2)在users表里查询用户名为'admin'的所有信息se

iOS开发学习笔记:基础篇

iOS开发需要一台Mac电脑.Xcode以及iOS SDK.因为苹果设备都具有自己封闭的环境,所以iOS程序的开发必须在Mac设备上完成(当然,黑苹果应该也是可以的,但就需要花很多的精力去折腾基础环境),Xcode是一个集成开发环境,包括了编辑器.调试.模拟器等等一系列方便开发和部署的工具,iOS SDK则是开发应用所必需,不同的SDK分别对应不同的iOS版本或设备,通常我们需要下载多个iOS SDK以确保我们开发的程序能够在不同版本的iOS上正常运行. 创建新工程 Xcode提供了很多种工程模

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

Python初识与简介[开篇] Python学习笔记——基础篇[第一周]——变量与赋值.用户交互.条件判断.循环控制.数据类型.文本操作 Python学习笔记——基础篇[第二周]——解释器.字符串.列表.字典.主文件判断.对象 Python学习笔记——基础篇1[第三周]——set集合 Python学习笔记——基础篇2[第三周]——计数器.有序字典.元组.单(双)向队列.深浅拷贝.函数.装饰器 Python学习笔记——基础篇[第四周]——迭代器&生成器.装饰器.递归.算法.正则表达式 Python

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

<python基础教程(第二版)>学习笔记基础部分(第1章)IDEWindows: IDLE(gui), Eclipse+PyDev; Python(command line);Linux/Unix: python >>> 1/2=0 注意整除得0>>> from __future__ import division 执行普通的除法python -Qnew 执行普通的除法 //整除,  1//2=0:%取余数:**乘幂长整型数: 末尾带L十六进制,以0x开头

自入门--leaflet学习笔记

最近开始入门leaflet,这里是简单的知识点整理及QuickStart,望dalao们批评指正! leaflet的快速开始向导: 这篇循序渐进的引入文将快速的让你开始学习leaflet的基础内容,包含了创建一个使用标记,气泡点,多段线的用来处理事件的leaflet地图. http://leafletjs.com/examples/quick-start/example.html 为你的页面做准备: 在你开始你的地图代码之前,你为页面需要做好以下几步准备: --引入在文档头部leaflet的cs

MySQL学习笔记-基础入门

MySQL学习笔记

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

Python之路,Day6 - 面向对象学习 本节内容: 面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法. 面向对象编程(Object-Oriented Programming )介绍 对于编程语言的初学者来讲,OOP不是一个很容易理解的编程方式,大家虽然都按老师讲的都知道OOP的三大特性是继承.封装.多态,并且大家也 都知道了如何定义类.方法等面向对象的常用语法,但是一到真正写程序的时候,还是很多人喜欢用函数式编程来写代码,特别是初学者,很容易陷入一