forked from Leaflet/Leaflet
/
features.html
150 lines (109 loc) · 4.52 KB
/
features.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
---
layout: default
title: Features
---
<h2>Leaflet Features</h2>
<p>Leaflet doesn't try to do everything for everyone. Instead it focuses on making <em>the basic things work perfectly</em>. It should still satisfy the needs of the vast majority of map apps developers while being easily extended by <a href="plugins.html">third-party plugins</a>.</p>
<hr />
<div class="span-20" id="features">
<div class="span-6">
<h3>Available Map Layers</h3>
<ul>
<li>Tile layers</li>
<li>Markers</li>
<li>Popups</li>
<li>Vector layers<span class="quiet">: polylines, polygons, circles, rectangles, circle markers</li>
<li>Image overlays</li>
<li>WMS layers</li>
<li>Layer groups</li>
<li>GeoJSON layers</li>
</ul>
<h3>Interaction Features</h3>
<h4>General</h4>
<ul>
<li>Drag panning with inertia</li>
</ul>
<h4>On Desktop Browsers</h4>
<ul>
<li>Scroll wheel zoom</li>
<li>Double click zoom</li>
<li>Zoom to area <span class="quiet">(shift-drag)</span></li>
<li>Keyboard navigation <span class="quiet"><nobr>(with arrows and <code>+/-</code> keys)</nobr></span></li>
</ul>
<h4>On Mobile Browsers (iOS, Android)</h4>
<ul>
<li>Multi-touch zoom <nobr><span class="quiet">(iOS and Android 4+)</span></nobr></li>
<li>Double tap zoom</li>
</ul>
<h4>For Layers</h4>
<ul>
<li>Various events<span class="quiet">: click (tap), mouseover, contextmenu, etc.</span></li>
<li>Marker dragging</li>
</ul>
<!--<li>Vector layers editing</li>-->
</div>
<div class="span-9">
<h3>Visual Features</h3>
<ul>
<li>Zoom animation on modern browsers <span class="quiet">(except IE) (<nobr>for all layers</nobr>, including markers and vector layers)</span></li>
<li>Panning animation</li>
<li>Smooth continuous zoom on iOS</li>
<li>Tile and popup fade animation</li>
<li>Very nice default design for markers, popups and other map controls</li>
</ul>
<h3>Customization Features</h3>
<ul>
<li>Pure CSS3 popups and controls <span class="quiet">for easy restyling</span></li>
<li>Image- and HTML-based markers</li>
<!-- <li>Customizable marker icons</li> -->
<li><span class="quiet">A simple interface for implementing</span> custom map layers</li>
<li><span class="quiet">The same for</span> custom map controls</li>
<li>Custom map projections <span class="quiet">(with <code>EPSG:4326</code>, <code>EPSG:3857</code> and <code>EPSG:3395</code> out of the box)</span></li>
<li>Powerful OOP facilities <span class="quiet">for extending existing classes</span></p>
</ul>
<h3>Performance Features</h3>
<ul>
<li>Hardware acceleration on iOS <span class="quiet">(and other modern browsers) makes it feel as smooth as native apps</span></li>
<li>Utilizing CSS3 features <span class="quiet">like Transitions, Transforms, requestAnimationFrame where possible</span> to make panning and zooming really smooth</li>
<li>Smart polyline/polygon rendering <span class="quiet">with dynamic clipping and simplification makes it responsive even when displaying objects with thousands of points</span></li>
<li>Modular design and a build system<span class="quiet"> allow you to reduce the library size by leaving out features you don't need</span></li>
<li>Tap delay elimination on mobile devices<span class="quiet"> makes controls and layers respond to taps immediately</span></li>
</ul>
</div>
<div class="span-5 last">
<h3>Map Controls</h3>
<ul>
<li>Zoom buttons</li>
<li>Attribution</li>
<li>Layer switcher</li>
<li>Scale</li>
</ul>
<h3>Browser Support</h3>
<h4>On Desktop</h4>
<ul>
<li>Chrome</li>
<li>Firefox</li>
<li>Safari 5+</li>
<li>Opera 11.11+</li>
<li>IE 7–9</li>
<li>IE 6 <span class="quiet">(not perfect but accessible)</span></li>
</ul>
<h4>On Mobile</h4>
<ul>
<li>Safari for iOS 3/4/5+</li>
<li>Android browser 2.2+, 3.1+, 4+</li>
<li>Chrome for Android 4+ and iOS</li>
<li>Firefox for Android</li>
<li>Other webkit-based browsers (webOS, Blackberry 7+, etc.)</li>
<li class="noimpl">IE for Windows Phone 7</li>
</ul>
<h3>Misc</h3>
<ul>
<li>Extremely lightweight <span class="quiet">— around 26 KB of gzipped JS code</span></li>
<li>No external dependencies</li>
<li>Keeps your JS environment clean<span class="quiet"> — no global or native prototypes pollution</span></li>
</ul>
</div>
</div>
<hr />
<p>If you find some feature really missing in Leaflet, please vote for it on the <a href="https://leaflet.uservoice.com">Leaflet UserVoice page</a>.</p>