码迷,mamicode.com
首页 > 其他好文 > 详细

Leaflet学习笔记-基础内容

时间:2015-10-29 13:04:16      阅读:1210      评论:0      收藏:0      [点我收藏+]

标签:

为什么选择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);
});

 

Leaflet学习笔记-基础内容

标签:

原文地址:http://www.cnblogs.com/CoffeeEddy/p/4919987.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!