开源轻量级移动端友好的JS地图库——leaflet学习教程

Leaflet 是一个为建设交互性好适用于移动设备地图,而开发的现代的、开源的 JavaScript 库。代码仅有 33 KB,但它具有开发在线地图的大部分功能。Leaflet设计坚持简便、高性能和可用性好的哲学思想,在所有主要桌面和移动平台能高效运作,在现代浏览器上会利用HTML5和CSS3的优势,同时也支持旧的浏览器访问。支持插件扩展,有一个友好、易于使用的API文档和一个简单的、可读的源代码。Leaflet强大的开源库插件涉及到地图应用的各个方面包括地图服务,数据提供,数据格式,地理编码,路线和路线搜索,地图控件和交互等类型的插件共有140多个。这些控件 丰富leaflet的功能,同时也可以十分方便的实现自定义的控件具有良好的可扩展性。 官网



###LeafLet快速入门教程 本教程将一步一步的指导你如何使用Leaflet加载地图、使用标记,折线和弹出窗口,处理事件。 ####如何用leaflet快速加载地图

  • 引入CSS文件

    <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css" />

    引用JavaScript

    <script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script>

    页面添加一个div作为地图的容器

    <div id="map"></div>

    确定map容器的高度

    #map { height: 180px; }

  • ####设置地图 设置地图中心和缩放级别

    var map = L.map(‘map‘).setView([51.505, -0.09], 13);

    添加图层

     L.tileLayer(‘http://{s}.tiles.mapbox.com/v3/MapID/{z}/{x}/{y}.png‘, {
        attribution: ‘Map data &copy; <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
       }).addTo(map);

    ####添加标注、圆形、多边形

  • #####添加标注
    var marker = L.marker([51.5, -0.09]).addTo(map);

    #####添加圆形

    var circle = L.circle([51.508, -0.11], 500, {
         color: ‘red‘,
            fillColor: ‘#f03‘,
         fillOpacity: 0.5
        }).addTo(map);

    #####添加多边形

     var polygon = L.polygon([
         [51.509, -0.08],
         [51.503, -0.06],
            [51.51, -0.047]
        ]).addTo(map);

  • #####为覆盖物标注、圆、多边形添加弹出气泡

    marker.bindPopup("<b>Hello world!</b><br>I am a popup.").openPopup();
        circle.bindPopup("I am a circle.");
        polygon.bindPopup("I am a polygon.");

  • #####处理事件
  • function onMapClick(e) {
         alert("You clicked the map at " + e.latlng);
        }
        map.on(‘click‘, onMapClick);
  • 转自 thinkgis
时间: 2024-10-10 13:27:35

开源轻量级移动端友好的JS地图库——leaflet学习教程的相关文章

轻量级移动端滑动xwipe.js

工作需要写一个移动端的滑动效果,参考了swipe,和iscroll之后自己写了一个xwipe.在写的过程中学习了很多,分享一下心得. 首先html和css部分和swipe一样. html部分 xwipe结构 <div id='xwipe' class='xwipe'> <div class='xwipe-wrap'> <div></div> <div></div> <div></div> <div>

【翻译】移动端友好的响应式导航栏教程

以下是译文: 今天我来教大家设计一个色彩绚丽且移动端友好的响应式导航栏.这个导航栏的灵感源自一款叫做"无主之地(Borderlands)"游戏中的一个叫做Maliwan武器生产商商标所采用的颜色集.导航栏会自动根据浏览器窗口的大小调整布局格式:在PC宽度下呈现为一行按钮,在平板宽度下呈现为三行按钮,而在移动端则变成了一个菜单栏按钮连接,点击可以显示和隐藏整个导航栏.为了使这个导航栏做到真正地移动端友好,我们将采用图标字体来作为导航栏图表,这样的话,当界面放大缩小的时候,图标也会自动调整

当前的几种开源游戏服务端介绍

当前的几种开源游戏服务端介绍 pomelo Pomelo 是基于 Node.js 的高性能.分布式游戏服务器框架.它包括基础的开发框架和相关的扩展组件(库和工具包),可以帮助你省去游戏开发枯燥中的重复劳动和底层逻辑的开发.Pomelo 不但适用于游戏服务器开发, 也可用于开发高实时 Web 应用,它的分布式架构可以使 Pomelo 比普通的实时 Web 框架扩展性更好. 官网: http://pomelo.netease.com 源代码: https://github.com/NetEase/p

微软将会在它的搜索结果中推送移动端友好的网站

微软将会在它的搜索结果中推送移动端友好的网站 Google并不是唯一一个在搜索结果中推广移动端友好的网站的大型网络公司----微软宣称它将很快在Bing搜索中给移动端优化的网站更高的排名.然而,这家公司不会不惜一切代价来推送这些站点(它仍然对向你推送最相关的链接感兴趣),它期望这些调整过的页面更加贴近顶部.为了完成这件事,它计划发布一款工具,告诉网站操作员它们的内容是否切合更小的屏幕.微软不会在近几个月内推出这些更新的搜索代码,但是不断地缩放和滚动页面的日子不会太久就会结束的. 原文链接:htt

KBEngine开源mmog服务端引擎

KBEngine是一款开源mmog服务端引擎, 使用统一协议能够轻松与前端对接,能轻松使用unity3d. ogre. cocos2d. html5等作为前端表现.一款开源的游戏服务端引擎,使用简单的约定协议就能够使客户端与服务端进行交互,使用KBEngine插件能够快速与(Unity3D, OGRE, Cocos2d, HTML5, 等等)技术结合形成一个完整的客户端. 服务端底层框架使用c++编写,游戏逻辑层使用Python(支持热更新),开发者无需重复的实现一些游戏服务端通用的底层技术,将

Js脚本之jQuery学习笔记(1)

Js脚本之jQuery学习笔记(1) 一.javascript基础 单行注释 多行注释 /* */ 数据类型 数值型 字符串型 布尔型 空值 未定义值 转义字符 函数定义:1234567891011121314<head><script language="javascript"function test(m){var xixi="嘻嘻"alert("这是javascript")document.write(xixi + m)}

JS中模板嵌套学习(代码)

<script src="script/jquery-1.4.2.js"></script>    <script src="script/jsrender.js"></script>    <script id="header" type="text/x-jsrender">        <tr>               <th>序号&

JS中childNodes深入学习

<html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> </head> <body> <div id="box"> <div></div> <div></div> <div></div> </div> <script

豆瓣移动端风格的css命名方法与学习

在CSS取名相对于刚入门来说是最头疼的事情,往往取一个可读性的名字相对以后的代码风格还是很重要的. 在配合团队方面一个好的类名可以帮助同事来理解,增加团队之间的效率有着很大的意义. 豆瓣的前段相对其他网站来说还是比较文艺清爽的,所以很值得去向他们团队学习,学习的地方很多,先来取名把. 在最外面的一个<div class="ck-root">.....</div>首先内容先用一个大的div盒子包起来, <div class="ck-root&quo