一.首先你要实现一个地图的小例子以便于理解leaflet如何实现的
1.leaflet CSS文件标题部分的文档:
1
|
<link rel=
"stylesheet"
href=
"https://unpkg.com/leaflet@1.0.1/dist/leaflet.css"
/>
|
1
|
<script src=
"https://unpkg.com/leaflet@1.0.1/dist/leaflet.js"
></script>
|
1
|
<div id=
"mapid"
></div>
|
1
|
#mapid { height: -webkit-fill-available;
}
|
- 现在您已经准备好初始化地图,用它做一些东西。
让我们创建一个地图的中心沈阳某个地点漂亮Mapbox街道瓷砖。首先我们将初始化和设置它的视图映射到我们选择的地理坐标和缩放级别(里面的 mapid 必须和设置的id保持一致):
1
|
var
mymap = L.map(
'mapid'
).setView([41.80408, 123.44238], 14);
|
在默认情况下(我们没有通过任何选项创建地图实例)时,所有鼠标和触摸交互启用了在地图上,它有放大和归因控制。(这些都可以通过js来控制,目前只是入门,有深入了解的可以自己摸索)
注意setView调用返回地图对象——大多数leaflet方法这样的行为时不返回一个显式的值,它允许方便类jQuery方法控制。
接下来,我们将添加一个砖层来增加我们的地图,在这种情况下这是一个Mapbox街道砖层。创建一个砖层通常涉及瓷砖图像的模板设置URL(在Mapbox得到你),归因的文本和的最大缩放级别层:
1
2
3
4
5
6
|
L.tileLayer(
'https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token={accessToken}'
, {
attribution:
'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://mapbox.com">Mapbox</a>'
,
maxZoom: 18,
id:
'your.mapbox.project.id'
,
accessToken:
'your.mapbox.public.access.token'
}).addTo(mymap);
|
其中 attribution为地图又下角的链接
L.TileLayer():通过给定URL模板和具有选项的对象来实例化一个切片图层。
见下面的例子
L.tileLayer('http://{s}.somedomain.com/{foo}/{z}/{x}/{y}.png', {foo: 'bar'})
Options(选项)
minZoom:最小级别数
maxZoom:最大级别数
tileSize:切片尺寸(宽度和高度的像素值,假设切片是正方形的)
subdomains:服务的子域。可以传递一个字符串(其中每一个字母都是一个子域名称)或是一个字符串数组。
errorTileUrl:图片的URL给出加载错误的位置。
attribution:用来进行属性控制的字符串,描述了图层数据。
这样就实现了一个地图,如何切换图层,下节描述.