Codebase list leaflet / 0aa5398
New upstream version 1.6.0~dfsg Jonas Smedegaard 4 years ago
70 changed file(s) with 655 addition(s) and 2179 deletion(s). Raw diff Collapse all Expand all
11 =================
22
33 (all changes without author notice are by [@mourner](https://github.com/mourner))
4
5 ## 1.5.1 (2019-05-08)
6 * Fix module export regression ([#6647](https://github.com/Leaflet/Leaflet/pull/6647) by [cherniavskii](https://github.com/cherniavskii))
47
58 ## 1.5.0 (2019-05-08)
69
1010
1111 ## Getting Involved
1212
13 Third-party patches are absolutely essential on our quest to create the best mapping library that will ever exist.
13 Third-party patches are absolutely essential in our quest to create the best mapping library that will ever exist.
1414 However, they're not the only way to get involved with Leaflet development.
1515 You can help the project tremendously by discovering and [reporting bugs](#reporting-bugs);
1616 [improving documentation](#improving-documentation);
149149
150150 If you need to make edits in a local repository to see how it looks in the process, do the following:
151151
152 1. [Install Ruby](http://www.ruby-lang.org/en/) if don't have it yet.
152 1. [Install Ruby](http://www.ruby-lang.org/en/) if you don't have it yet.
153153 2. Run `gem install jekyll`.
154154 3. Enter the directory where you cloned the Leaflet repository
155155 4. Run `bundle install`
0 Copyright (c) 2010-2018, Vladimir Agafonkin
0 Copyright (c) 2010-2019, Vladimir Agafonkin
11 Copyright (c) 2010-2011, CloudMade
22 All rights reserved.
33
1111 - [ ] files on [Leaflet unpkg page](https://unpkg.com/leaflet@latest/)
1212 - [ ] Update API docs:
1313 - [ ] run `npm run docs`
14 - [ ] Copy the built docs from `dist/reference-X.Y.Z.html` to `docs/reference-X.Y.Z.html`
15 - [ ] Update the built docs header to use Jekyll style; see commit [11d716f0964d8bc0d058ca09e9ba8003451b4b8d](https://github.com/Leaflet/Leaflet/commit/11d716f0964d8bc0d058ca09e9ba8003451b4b8d) as reference for the needed changes
14 - [ ] Copy the built docs from `dist/reference-X.Y.Z.html` to `docs/reference-X.Y.Z.html`, remove content before first and after second "CUT HERE" comment
15 - [ ] Insert YAML front matter, see old `docs/reference-X.Y.Z.html` for reference
1616 - [ ] Commit the new docs to the release branch
1717 - [ ] Update `docs/reference.html` to redirect to the new version and commit the change to the release branch
1818 - [ ] Update integrity hashes:
2121 - [ ] Copy the hashes and update `integrity_hash_css`, `integrity_hash_source` and `integrity_hash_uglified` in `docs/_config.yml`; commit changes to the release branch
2222 - [ ] Update link to latest release in `docs/download.html`, and commit to the release branch
2323 - [ ] Add link to new version reference in `docs/reference-versions.html`, and commit to the release branch
24 - [ ] Update `latest_leaflet_version` in `docs/_config.yml` and commit to the release branch
24 - [ ] Update `latest_leaflet_version` (and possibly `latest_leaflet_reference`) in `docs/_config.yml` and commit to the release branch
2525 - [ ] Update the announcement section in `docs/index.html` and commit to the release branch
2626 - [ ] If it looks like everything is good at this point, merge the release branch into `master`
2727 - [ ] Make a new release on [Leaflet's GitHub release page](https://github.com/Leaflet/Leaflet/releases/) with the most important parts of the changelog
28 - [ ] Post an announcement comment in [thread #6295](https://github.com/Leaflet/Leaflet/issues/6295)
11
22 function buildDocs() {
33
4 console.log('Building Leaflet documentation with Leafdoc');
4 console.log('Building Leaflet documentation with Leafdoc ...');
55
66 var LeafDoc = require('leafdoc');
77 var doc = new LeafDoc({
2626 doc.addFile('build/docs-misc.leafdoc', false);
2727
2828 var out = doc.outputStr();
29 var path = 'dist/reference-' + packageDef.version + '.html';
2930
3031 var fs = require('fs');
3132
32 fs.writeFileSync('dist/reference-' + packageDef.version + '.html', out);
33 fs.writeFileSync(path, out);
34 console.log('Successfully built ' + path);
3335 }
3436
3537 if (require.main === module) {
99 {{~#each params~}}
1010 {{#if type}}<nobr>&lt;{{{type type}}}&gt;</nobr> {{/if}}<i>{{name}}</i>
1111 {{~#unless @last}}, {{/unless}}{{/each~}}
12 )</nobr></code></td>
12 )</code></td>
1313 <td>{{{markdown comments}}}</td>
1414 </tr>
1515 {{/each}}
99 {{~#each params~}}
1010 {{#if type}}<nobr>&lt;{{{type type}}}&gt;</nobr> {{/if}}<i>{{name}}</i>
1111 {{~#unless @last}}, {{/unless}}{{/each~}}
12 )</nobr></code></td>
12 )</code></td>
1313 <td>{{{markdown comments}}}</td>
1414 </tr>
1515 {{/each}}
66 </thead><tbody>
77 {{#each documentables}}
88 <tr id='{{id}}'>
9 <td><code><b>{{name}}</b>
9 <td><code><b>{{name}}</b></code></td>
1010 <td><code>{{{type type}}}</code></td>
1111 <td>{{{markdown comments}}}</td>
1212 </tr>
99 {{~#each params~}}
1010 {{#if type}}<nobr>&lt;{{{type type}}}&gt;</nobr> {{/if}}<i>{{name}}</i>
1111 {{~#unless @last}}, {{/unless}}{{/each~}}
12 )</nobr></code></td>
12 )</code></td>
1313 <td>{{{markdown comments}}}</td>
1414 </tr>
1515 {{/each}}
1010 {{~#each params~}}
1111 {{#if type}}<nobr>&lt;{{{type type}}}&gt;</nobr> {{/if}}<i>{{name}}</i>
1212 {{~#unless @last}}, {{/unless}}{{/each~}}
13 )</nobr></code></td>
13 )</code></td>
1414 <td><code>{{{type type}}}</code></td>
1515 <td>{{{markdown comments}}}</td>
1616 </tr>
55
66 <link rel="stylesheet" href="../docs/docs/css/normalize.css" />
77 <link rel="stylesheet" href="../docs/docs/css/main.css" />
8 <link rel="stylesheet" href="../docs/docs/css/reference.css" />
89 <script src="../docs/docs/highlight/highlight.pack.js"></script>
910 <link rel="stylesheet" href="../docs/docs/highlight/styles/github-gist.css" />
1011 <link rel="stylesheet" href="leaflet.css" />
1213 </head>
1314 <body class='api-page'>
1415 <div class='container'>
16
17 <!-- CUT HERE FOR docs/reference-*.html -->
1518
1619 <h2>Leaflet API reference</h2>
1720 <div id="toc" class="clearfix">
139142
140143 {{{ body }}}
141144
142
143
144 <div class="footer">
145 <p>© 2017 <a href="http://agafonkin.com/en">Vladimir Agafonkin</a>. Maps © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.</p>
146 </div>
145 <!-- CUT HERE FOR docs/reference-*.html -->
147146
148147 </div>
149148
150 <script src="https://leafletjs.com/docs/js/docs.js"></script>
151 <script>
152 hljs.configure({tabReplace: ' '});
153 hljs.initHighlightingOnLoad();
149 <script src="../docs/docs/js/docs.js"></script>
150 <script src="../docs/docs/js/reference.js"></script>
154151
155 var elems = document.querySelectorAll('h2, h3, h4, tr');
156
157 for (var i = 0, len = elems.length; i < len; i++) {
158 var el = elems[i];
159
160 if (el.id) {
161 var anchor = document.createElement('a');
162 anchor.setAttribute('anchor', el.id);
163 if (!el.children.length) {
164 // For headers, insert the anchor before.
165 el.parentNode.insertBefore(anchor, el);
166 } else {
167 // For table rows, insert the anchor inside the first <td>
168 el.querySelector('td').appendChild(anchor);
169
170 // Clicking on the row (meaning "the link icon on the ::before)
171 // jumps to the item
172 el.parentNode.onclick = function(hash){
173 return function(ev) {
174 if (ev.offsetX < 0) {
175 window.location.hash = '#' + ev.target.parentNode.id;
176 }
177 };
178 }(el.id);
179 }
180 }
181 }
182
183 elems = document.querySelectorAll('div.accordion');
184 for (var i = 0, len = elems.length; i < len; i++) {
185 var el = elems[i];
186
187 el.querySelector('label').addEventListener('click', function(c){
188 return function() {
189 if (c.className === 'accordion expanded') {
190 c.className = 'accordion collapsed';
191 } else {
192 c.className = 'accordion expanded';
193 }
194 };
195 }(el));
196
197 // el.className = 'accordion collapsed';
198 // el.querySelector('.accordion-content').style.display = 'none';
199 }
200
201 </script>
202 <style>
203
204 h2 {
205 margin-top: 2em;
206 }
207
208 h3 {
209 margin-top: 1em;
210 margin-bottom: .5em;
211 }
212
213 div.accordion {
214 width: 100%;
215 /* overflow: hidden; */
216 }
217
218 div.accordion-overflow {
219 width: 100%;
220 overflow: hidden;
221 }
222
223 label,
224 section > h4 {
225 display: block;
226 font-weight: 500;
227 margin: 1em 0 0.25em;
228 }
229
230 label {
231 cursor: pointer;
232 }
233
234 div.accordion > div.accordion-overflow > div.accordion-content {
235 max-height: 0;
236 display: none;
237 }
238
239 div.accordion.collapsed > div.accordion-overflow > div.accordion-content {
240 animation-duration: 0.4s;
241 animation-name: collapse;
242 /* height: 0; */
243 max-height: 0;
244 display: block;
245 overflow: hidden;
246 }
247
248 div.accordion.expanded > div.accordion-overflow > div.accordion-content {
249 animation-duration: 0.4s;
250 animation-name: expand;
251 /* height: auto; */
252 max-height: none;
253 display: block;
254 }
255
256 @keyframes collapse {
257 0% { max-height: 100vh; }
258 100% { max-height: 0; }
259 }
260
261 @keyframes expand {
262 0% { max-height: 0; }
263 100% { max-height: 100vh; }
264 }
265
266 /* div.accordion > div.accordion-content {
267 transition: max-height 0.4s ease-out 0s;
268 }*/
269
270 div.accordion.expanded > label > span.expander {
271 transform: rotate(90deg);
272 }
273
274 div.accordion > label > span.expander {
275 transition: transform 0.4s ease-out 0s;
276 display: inline-block;
277 font-size: 12px;
278 }
279
280
281 table {
282 margin-bottom: 0;
283 }
284
285 /* Markdown renders some spurious <p>s inside the table cells */
286 td > p {
287 margin:0;
288 }
289
290 /* This just looks bad (with the current grey headers for sections which Vlad doesn't really like, so might have to change this) */
291 section.collapsable > div.section-comments > p {
292 margin:0;
293 }
294
295 div.section-comments {
296 margin-bottom: 0.25em;
297 }
298
299 /* section.collapsable div.section-comments {
300 margin: 1em;
301 font-size: 12px;
302 }*/
303
304 section.collapsable pre {
305 margin:0;
306 }
307
308 section {
309 margin-left: 0.5em;
310 }
311
312 section h4, section.collapsable h4 {
313 margin-left: -0.5em;
314 }
315
316
317
318 </style>
319152 </body></html>
1010 {{~#each params~}}
1111 {{#if type}}<nobr>&lt;{{{type type}}}&gt;</nobr> {{/if}}<i>{{name}}</i>
1212 {{~#unless @last}}, {{/unless}}{{/each~}}
13 )</nobr></code></td>
13 )</code></td>
1414 <td><code>{{{type type}}}</code></td>
1515 <td>{{{rawmarkdown comments}}}</td>
1616 </tr>
88 {{#each documentables}}
99 <tr id='{{id}}'>
1010 <td><code><b>{{name}}</b></code></td>
11 <td><code>{{{type type}}}</code>
11 <td><code>{{{type type}}}</code></td>
1212 <td><code>{{defaultValue}}</code></td>
1313 <td>{{{markdown comments}}}</td>
1414 </tr>
88 {{#each documentables}}
99 <tr id='{{id}}'>
1010 <td><code><b>{{name}}</b></code></td>
11 <td><code>{{{type type}}}</code>
11 <td><code>{{{type type}}}</code></td>
1212 <td><code>{{defaultValue}}</code></td>
1313 <td>{{{markdown comments}}}</td>
1414 </tr>
66 </thead><tbody>
77 {{#each documentables}}
88 <tr id='{{id}}'>
9 <td><code><b>{{name}}</b>
9 <td><code><b>{{name}}</b></code></td>
1010 <td><code>{{{type type}}}</code></td>
1111 <td>{{{markdown comments}}}</td>
1212 </tr>
1919
2020 const banner = `/* @preserve
2121 * Leaflet ${version}, a JS library for interactive maps. http://leafletjs.com
22 * (c) 2010-2018 Vladimir Agafonkin, (c) 2010-2011 CloudMade
22 * (c) 2010-2019 Vladimir Agafonkin, (c) 2010-2011 CloudMade
2323 */
2424 `;
2525
88 const version = require('../package.json').version + '+' + branch + '.' + rev;
99 const banner = `/* @preserve
1010 * Leaflet ${version}, a JS library for interactive maps. http://leafletjs.com
11 * (c) 2010-2018 Vladimir Agafonkin, (c) 2010-2011 CloudMade
11 * (c) 2010-2019 Vladimir Agafonkin, (c) 2010-2011 CloudMade
1212 */
1313 `;
1414
0 {"version":3,"sources":["dist/leaflet-src.js"],"names":["global","factory","exports","module","define","amd","L","this","freeze","Object","extend","dest","i","j","len","src","arguments","length","obj","create","proto","F","prototype","bind","fn","slice","Array","apply","call","args","concat","lastId","stamp","_leaflet_id","throttle","time","context","lock","wrapperFn","later","setTimeout","wrapNum","x","range","includeMax","max","min","d","falseFn","formatNum","num","digits","undefined","Math","round","trim","str","replace","splitWords","split","setOptions","options","hasOwnProperty","getParamString","existingUrl","uppercase","params","push","encodeURIComponent","toUpperCase","indexOf","join","templateRe","template","data","key","value","Error","isArray","toString","array","el","emptyImageUrl","getPrefixed","name","window","lastTime","timeoutDefer","Date","timeToCall","requestFn","requestAnimationFrame","cancelFn","cancelAnimationFrame","id","clearTimeout","requestAnimFrame","immediate","cancelAnimFrame","Util","Class","props","NewClass","initialize","callInitHooks","parentProto","__super__","constructor","statics","includes","Mixin","Events","console","warn","stack","checkDeprecatedMixinEvents","_initHooks","_initHooksCalled","include","mergeOptions","addInitHook","init","on","types","type","_on","off","_off","_events","typeListeners","newListener","ctx","listeners","l","_firingCount","splice","fire","propagate","listens","event","target","sourceTarget","_propagateEvent","_eventParents","once","handler","addEventParent","removeEventParent","e","layer","propagatedFrom","addEventListener","removeEventListener","clearAllEventListeners","addOneTimeEventListener","fireEvent","hasEventListeners","Evented","Point","y","trunc","v","floor","ceil","toPoint","Bounds","a","b","points","toBounds","LatLngBounds","corner1","corner2","latlngs","toLatLngBounds","LatLng","lat","lng","alt","isNaN","toLatLng","c","lon","clone","add","point","_add","subtract","_subtract","divideBy","_divideBy","multiplyBy","_multiplyBy","scaleBy","unscaleBy","_round","_floor","_ceil","_trunc","distanceTo","sqrt","equals","contains","abs","getCenter","getBottomLeft","getTopRight","getTopLeft","getBottomRight","getSize","intersects","bounds","min2","max2","xIntersects","yIntersects","overlaps","xOverlaps","yOverlaps","isValid","sw2","ne2","sw","_southWest","ne","_northEast","pad","bufferRatio","heightBuffer","widthBuffer","getSouthWest","getNorthEast","getNorthWest","getNorth","getWest","getSouthEast","getSouth","getEast","latIntersects","lngIntersects","latOverlaps","lngOverlaps","toBBoxString","maxMargin","CRS","latLngToPoint","latlng","zoom","projectedPoint","projection","project","scale","transformation","_transform","pointToLatLng","untransformedPoint","untransform","unproject","pow","log","LN2","getProjectedBounds","infinite","s","transform","precision","other","Earth","distance","wrap","wrapLatLng","sizeInMeters","latAccuracy","lngAccuracy","cos","PI","wrapLng","wrapLat","wrapLatLngBounds","center","newCenter","latShift","lngShift","R","latlng1","latlng2","rad","lat1","lat2","sinDLat","sin","sinDLon","atan2","earthRadius","SphericalMercator","MAX_LATITUDE","atan","exp","Transformation","_a","_b","_c","_d","toTransformation","EPSG3857","code","EPSG900913","svgCreate","document","createElementNS","pointsToPath","rings","closed","len2","p","svg","style$1","documentElement","style","ie","ielt9","edge","navigator","webkit","userAgentContains","android","android23","webkitVer","parseInt","exec","userAgent","androidStock","opera","chrome","gecko","safari","phantom","opera12","win","platform","ie3d","webkit3d","WebKitCSSMatrix","gecko3d","any3d","L_DISABLE_3D","mobile","orientation","mobileWebkit","mobileWebkit3d","msPointer","PointerEvent","MSPointerEvent","pointer","touch","L_NO_TOUCH","DocumentTouch","mobileOpera","mobileGecko","retina","devicePixelRatio","screen","deviceXDPI","logicalXDPI","canvas","createElement","getContext","createSVGRect","vml","div","innerHTML","shape","firstChild","behavior","adj","toLowerCase","Browser","POINTER_DOWN","POINTER_MOVE","POINTER_UP","POINTER_CANCEL","TAG_WHITE_LIST","_pointers","_pointerDocListener","_pointersCount","addPointerListener","onDown","pointerType","MSPOINTER_TYPE_MOUSE","tagName","preventDefault","_handlePointer","_globalPointerDown","_globalPointerMove","_globalPointerUp","_addPointerStart","onMove","buttons","_addPointerMove","onUp","_addPointerEnd","pointerId","touches","changedTouches","_touchstart","_touchend","_pre","addDoubleTapListener","last","touch$$1","doubleTap","onTouchStart","count","now","delta","onTouchEnd","cancelBubble","prop","newTouch","button","removeDoubleTapListener","touchstart","touchend","dblclick","disableTextSelection","enableTextSelection","_userSelect","_outlineElement","_outlineStyle","TRANSFORM","testProp","TRANSITION","TRANSITION_END","get","getElementById","getStyle","currentStyle","defaultView","css","getComputedStyle","create$1","className","container","appendChild","remove","parent","parentNode","removeChild","empty","toFront","lastChild","toBack","insertBefore","hasClass","classList","getClass","RegExp","test","addClass","classes","setClass","removeClass","baseVal","correspondingElement","setOpacity","opacity","filter","filterName","filters","item","Enabled","Opacity","_setOpacityIE","setTransform","offset","pos","setPosition","_leaflet_pos","left","top","getPosition","userSelectProperty","disableImageDrag","enableImageDrag","preventOutline","element","tabIndex","restoreOutline","outline","getSizedParentNode","offsetWidth","offsetHeight","body","getScale","rect","getBoundingClientRect","width","height","boundingClientRect","DomUtil","addOne","eventsKey","removeOne","originalHandler","isExternalTarget","timeStamp","originalEvent","elapsed","lastClick","_simulatedClick","_simulated","stop","filterClick","attachEvent","removePointerListener","detachEvent","stopPropagation","_stopped","skipped","disableScrollPropagation","disableClickPropagation","fakeStop","returnValue","getMousePosition","clientX","clientY","clientLeft","clientTop","wheelPxFactor","getWheelDelta","wheelDeltaY","deltaY","deltaMode","deltaX","deltaZ","wheelDelta","detail","skipEvents","events","related","relatedTarget","err","DomEvent","addListener","removeListener","PosAnimation","run","newPos","duration","easeLinearity","_el","_inProgress","_duration","_easeOutPower","_startPos","_offset","_startTime","_animate","_step","_complete","_animId","_runFrame","_easeOut","progress","t","Map","crs","minZoom","maxZoom","layers","maxBounds","renderer","zoomAnimation","zoomAnimationThreshold","fadeAnimation","markerZoomAnimation","transform3DLimit","zoomSnap","zoomDelta","trackResize","_handlers","_layers","_zoomBoundLayers","_sizeChanged","_initContainer","_initLayout","_onResize","_initEvents","setMaxBounds","_zoom","_limitZoom","setView","reset","_zoomAnimated","_createAnimProxy","_proxy","_catchTransitionEnd","_addLayers","_limitCenter","_stop","_loaded","animate","pan","_tryAnimatedZoom","_tryAnimatedPan","_sizeTimer","_resetView","setZoom","zoomIn","zoomOut","setZoomAround","getZoomScale","viewHalf","centerOffset","latLngToContainerPoint","containerPointToLatLng","_getBoundsCenterZoom","getBounds","paddingTL","paddingTopLeft","padding","paddingBR","paddingBottomRight","getBoundsZoom","Infinity","paddingOffset","swPoint","nePoint","fitBounds","fitWorld","panTo","panBy","getZoom","_panAnim","step","_onPanTransitionStep","end","_onPanTransitionEnd","noMoveStart","_mapPane","_getMapPanePos","_rawPanBy","flyTo","targetCenter","targetZoom","from","to","size","startZoom","w0","w1","u1","rho","rho2","r","sq","sinh","n","cosh","r0","u","tanh","start","S","_moveStart","frame","easeOut","_flyToFrame","_move","getScaleZoom","w","_moveEnd","flyToBounds","_panInsideMaxBounds","setMinZoom","oldZoom","setMaxZoom","panInsideBounds","_enforcingBounds","panInside","pixelCenter","pixelPoint","pixelBounds","getPixelBounds","halfPixelBounds","paddedBounds","diff","invalidateSize","oldSize","_lastCenter","newSize","oldCenter","debounceMoveend","locate","_locateOptions","timeout","watch","_handleGeolocationError","message","onResponse","_handleGeolocationResponse","onError","_locationWatchId","geolocation","watchPosition","getCurrentPosition","stopLocate","clearWatch","error","coords","latitude","longitude","accuracy","timestamp","addHandler","HandlerClass","enable","_containerId","_container","_clearControlPos","_resizeRequest","_clearHandlers","_panes","_renderer","createPane","pane","_checkIfLoaded","_moved","layerPointToLatLng","_getCenterLayerPoint","getMinZoom","_layersMinZoom","getMaxZoom","_layersMaxZoom","inside","nw","se","boundsSize","snap","scalex","scaley","_size","clientWidth","clientHeight","topLeftPoint","_getTopLeftPoint","getPixelOrigin","_pixelOrigin","getPixelWorldBounds","getPane","getPanes","getContainer","toZoom","fromZoom","latLngToLayerPoint","containerPointToLayerPoint","layerPointToContainerPoint","layerPoint","mouseEventToContainerPoint","mouseEventToLayerPoint","mouseEventToLatLng","_onScroll","_fadeAnimated","position","_initPanes","_initControlPos","panes","_paneRenderers","markerPane","shadowPane","loading","zoomChanged","_getNewPixelOrigin","pinch","_getZoomSpan","remove$$1","_targets","onOff","_handleDOMEvent","_onMoveEnd","scrollTop","scrollLeft","_findEventTargets","targets","isHover","srcElement","dragging","_draggableMoved","_fireDOMEvent","_mouseEvents","synth","isMarker","getLatLng","_radius","containerPoint","bubblingMouseEvents","enabled","moved","boxZoom","disable","whenReady","callback","_latLngToNewLayerPoint","topLeft","_latLngBoundsToNewLayerBounds","latLngBounds","_getCenterOffset","centerPoint","viewBounds","_getBoundsOffset","_limitOffset","newBounds","pxBounds","projectedMaxBounds","minOffset","maxOffset","_rebound","right","proxy","mapPane","_animatingZoom","_onZoomTransitionEnd","z","_destroyAnimProxy","propertyName","_nothingToAnimate","getElementsByClassName","_animateZoom","startAnim","noUpdate","_animateToCenter","_animateToZoom","control","Control","map","_map","removeControl","addControl","addTo","onAdd","corner","_controlCorners","onRemove","_refocusOnMap","screenX","screenY","focus","corners","_controlContainer","createCorner","vSide","hSide","Layers","collapsed","autoZIndex","hideSingleBase","sortLayers","sortFunction","layerA","layerB","nameA","nameB","baseLayers","overlays","_layerControlInputs","_lastZIndex","_handlingClick","_addLayer","_update","_checkDisabledLayers","_onLayerChange","_expandIfNotCollapsed","addBaseLayer","addOverlay","removeLayer","_getLayer","expand","_section","acceptableHeight","offsetTop","collapse","setAttribute","section","mouseenter","mouseleave","link","_layersLink","href","title","_baseLayersList","_separator","_overlaysList","overlay","sort","setZIndex","baseLayersPresent","overlaysPresent","baseLayersCount","_addItem","display","_createRadioElement","checked","radioHtml","radioFragment","input","label","hasLayer","defaultChecked","layerId","_onInputClick","holder","inputs","addedLayers","removedLayers","addLayer","disabled","_expand","_collapse","Zoom","zoomInText","zoomInTitle","zoomOutText","zoomOutTitle","zoomName","_zoomInButton","_createButton","_zoomIn","_zoomOutButton","_zoomOut","_updateDisabled","_disabled","shiftKey","html","zoomControl","Scale","maxWidth","metric","imperial","_addScales","updateWhenIdle","_mScale","_iScale","maxMeters","_updateScales","_updateMetric","_updateImperial","meters","_getRoundNum","_updateScale","maxMiles","miles","feet","maxFeet","text","ratio","pow10","Attribution","prefix","_attributions","attributionControl","getAttribution","addAttribution","setPrefix","removeAttribution","attribs","prefixAndAttribs","attribution","Handler","_enabled","addHooks","removeHooks","_lastCode","START","END","mousedown","pointerdown","MSPointerDown","MOVE","Draggable","clickTolerance","dragStartTarget","preventOutline$$1","_element","_dragStartTarget","_preventOutline","_onDown","_dragging","finishDrag","which","_moving","first","sizedParent","_startPoint","_parentScale","_onMove","_onUp","_lastTarget","SVGElementInstance","correspondingUseElement","_newPos","_animRequest","_lastEvent","_updatePosition","simplify","tolerance","sqTolerance","markers","Uint8Array","_simplifyDPStep","index","sqDist","maxSqDist","_sqClosestPointOnSegment","newPoints","_simplifyDP","reducedPoints","prev","p1","p2","dx","dy","_reducePoints","pointToSegmentDistance","clipSegment","useLastCode","codeOut","newCode","codeA","_getBitCode","codeB","_getEdgeIntersection","dot","isFlat","_flat","LineUtil","closestPointOnSegment","clipPolygon","clippedPoints","k","edges","_code","PolyUtil","LonLat","Mercator","R_MINOR","tmp","con","ts","tan","phi","dphi","EPSG3395","EPSG4326","Simple","Layer","removeFrom","_mapToAdd","addInteractiveTarget","targetEl","removeInteractiveTarget","_layerAdd","getEvents","beforeAdd","eachLayer","method","_addZoomLimit","_updateZoomLevels","_removeZoomLimit","oldZoomSpan","LayerGroup","getLayerId","clearLayers","invoke","methodName","getLayer","getLayers","zIndex","FeatureGroup","setStyle","bringToFront","bringToBack","Icon","popupAnchor","tooltipAnchor","createIcon","oldIcon","_createIcon","createShadow","_getIconUrl","img","_createImg","_setIconStyles","sizeOption","anchor","shadowAnchor","iconAnchor","marginLeft","marginTop","IconDefault","iconUrl","iconRetinaUrl","shadowUrl","iconSize","shadowSize","imagePath","_detectIconPath","path","MarkerDrag","marker","_marker","icon","_icon","_draggable","dragstart","_onDragStart","predrag","_onPreDrag","drag","_onDrag","dragend","_onDragEnd","_adjustPan","speed","autoPanSpeed","autoPanPadding","iconPos","origin","panBounds","movement","_panRequest","_oldLatLng","closePopup","autoPan","shadow","_shadow","_latlng","oldLatLng","Marker","interactive","keyboard","zIndexOffset","riseOnHover","riseOffset","draggable","_initIcon","update","_removeIcon","_removeShadow","viewreset","setLatLng","setZIndexOffset","getIcon","setIcon","_popup","bindPopup","getElement","_setPos","classToAdd","addIcon","mouseover","_bringToFront","mouseout","_resetZIndex","newShadow","addShadow","_updateOpacity","_initInteraction","_zIndex","_updateZIndex","opt","_getPopupAnchor","_getTooltipAnchor","Path","stroke","color","weight","lineCap","lineJoin","dashArray","dashOffset","fill","fillColor","fillOpacity","fillRule","getRenderer","_initPath","_reset","_addPath","_removePath","redraw","_updatePath","_updateStyle","_updateBounds","_bringToBack","_path","_project","_clickTolerance","CircleMarker","radius","setRadius","getRadius","_point","r2","_radiusY","_pxBounds","_updateCircle","_empty","_bounds","_containsPoint","Circle","legacyOptions","_mRadius","half","latR","bottom","lngR","acos","Polyline","smoothFactor","noClip","_setLatLngs","getLatLngs","_latlngs","setLatLngs","isEmpty","closestLayerPoint","minDistance","minPoint","closest","jLen","_parts","halfDist","segDist","dist","_rings","addLatLng","_defaultShape","_convertLatLngs","result","flat","_projectLatlngs","_rawPxBounds","projectedBounds","ring","_clipPoints","segment","parts","_simplifyPoints","_updatePoly","part","Polygon","f","area","pop","clipped","GeoJSON","geojson","addData","feature","features","geometries","geometry","coordinates","geometryToLayer","asFeature","defaultOptions","resetStyle","onEachFeature","_setLayerStyle","pointToLayer","_coordsToLatLng","coordsToLatLng","coordsToLatLngs","properties","levelsDeep","latLngToCoords","latLngsToCoords","getFeature","newGeometry","PointToGeoJSON","toGeoJSON","geoJSON","multi","holes","toMultiPoint","isGeometryCollection","jsons","json","geoJson","ImageOverlay","crossOrigin","errorOverlayUrl","url","_url","_image","_initImage","styleOpts","setUrl","setBounds","zoomanim","wasElementSupplied","onselectstart","onmousemove","onload","onerror","_overlayOnError","image","errorUrl","VideoOverlay","autoplay","loop","keepAspectRatio","vid","onloadeddata","sourceElements","getElementsByTagName","sources","source","SVGOverlay","DivOverlay","_source","_removeTimeout","getContent","_content","setContent","content","visibility","_updateContent","_updateLayout","isOpen","_prepareOpen","node","_contentNode","hasChildNodes","_getAnchor","_containerBottom","_containerLeft","_containerWidth","Popup","minWidth","maxHeight","autoPanPaddingTopLeft","autoPanPaddingBottomRight","keepInView","closeButton","autoClose","closeOnEscapeKey","openOn","openPopup","popup","closeOnClick","closePopupOnClick","preclick","_close","moveend","wrapper","_wrapper","_tipContainer","_tip","_closeButton","_onCloseButtonClick","whiteSpace","scrolledClass","marginBottom","containerHeight","containerWidth","layerPos","containerPos","_popupHandlersAdded","click","_openPopup","keypress","_onKeyPress","move","_movePopup","unbindPopup","togglePopup","isPopupOpen","setPopupContent","getPopup","keyCode","Tooltip","direction","permanent","sticky","tooltip","closeTooltip","_setPosition","tooltipPoint","tooltipWidth","tooltipHeight","openTooltip","bindTooltip","_tooltip","_initTooltipInteractions","unbindTooltip","_tooltipHandlersAdded","_moveTooltip","_openTooltip","mousemove","toggleTooltip","isTooltipOpen","setTooltipContent","getTooltip","DivIcon","bgPos","Element","backgroundPosition","Default","GridLayer","tileSize","updateWhenZooming","updateInterval","maxNativeZoom","minNativeZoom","noWrap","keepBuffer","_levels","_tiles","_removeAllTiles","_tileZoom","_setAutoZIndex","isLoading","_loading","viewprereset","_invalidateAll","createTile","getTileSize","compare","children","edgeZIndex","isFinite","nextFrame","willPrune","tile","current","loaded","fade","active","_onOpaqueTile","_noPrune","_pruneTiles","_fadeFrame","_updateLevels","_onUpdateLevel","_removeTilesAtZoom","_onRemoveLevel","level","_setZoomTransform","_onCreateLevel","_level","retain","_retainParent","_retainChildren","_removeTile","x2","y2","z2","coords2","_tileCoordsToKey","animating","_setView","_clampZoom","noPrune","tileZoom","tileZoomChanged","_abortLoading","_resetGrid","_setZoomTransforms","translate","_tileSize","_globalTileRange","_pxBoundsToTileRange","_wrapX","_wrapY","_getTiledPixelBounds","mapZoom","halfSize","tileRange","tileCenter","queue","margin","noPruneRange","_isValidTile","fragment","createDocumentFragment","_addTile","tileBounds","_tileCoordsToBounds","_keyToBounds","_keyToTileCoords","_tileCoordsToNwSe","nwPoint","sePoint","bp","_initTile","WebkitBackfaceVisibility","tilePos","_getTilePos","_wrapCoords","_tileReady","_noTilesToLoad","newCoords","TileLayer","subdomains","errorTileUrl","zoomOffset","tms","zoomReverse","detectRetina","_onTileRemove","noRedraw","done","_tileOnLoad","_tileOnError","getTileUrl","_getSubdomain","_getZoomForUrl","invertedY","getAttribute","tilePoint","complete","tileLayer","TileLayerWMS","defaultWmsParams","service","request","styles","format","transparent","version","wmsParams","realRetina","_crs","_wmsVersion","parseFloat","projectionKey","bbox","setParams","WMS","wms","Renderer","_updatePaths","_destroyContainer","_onZoom","zoomend","_onZoomEnd","_onAnimZoom","ev","_updateTransform","currentCenterPoint","_center","topLeftOffset","Canvas","_onViewPreReset","_postponeUpdatePaths","_draw","_onMouseMove","_onClick","_handleMouseOut","_ctx","_redrawRequest","_redrawBounds","_redraw","m","_updateDashArray","order","_order","_drawLast","next","_drawFirst","_requestRedraw","_extendRedrawBounds","dashValue","Number","_dashArray","_clear","clearRect","save","beginPath","clip","_drawing","restore","closePath","_fillStroke","arc","globalAlpha","fillStyle","setLineDash","lineWidth","strokeStyle","clickedLayer","_fireEvent","moving","_handleMouseHover","_hoveredLayer","candidateHoveredLayer","canvas$1","vmlCreate","namespaces","vmlMixin","coordsize","_stroke","_fill","stroked","filled","dashStyle","endcap","joinstyle","_setPath","create$2","SVG","zoomstart","_onZoomStart","_rootGroup","_svgSize","removeAttribute","svg$1","_getPaneRenderer","_createRenderer","preferCanvas","Rectangle","_boundsToLatLngs","BoxZoom","_pane","overlayPane","_resetStateTimeout","_destroy","_onMouseDown","_resetState","_clearDeferredResetState","contextmenu","mouseup","_onMouseUp","keydown","_onKeyDown","_box","_finish","boxZoomBounds","doubleClickZoom","DoubleClickZoom","_onDoubleClick","inertia","inertiaDeceleration","inertiaMaxSpeed","worldCopyJump","maxBoundsViscosity","Drag","_onPreDragLimit","_onPreDragWrap","_positions","_times","_offsetLimit","_viscosity","_lastTime","_lastPos","_absPos","_prunePositions","shift","pxCenter","pxWorldCenter","_initialWorldOffset","_worldWidth","_viscousLimit","threshold","limit","worldWidth","halfWidth","newX1","newX2","newX","noInertia","ease","speedVector","limitedSpeed","limitedSpeedVector","decelerationDuration","keyboardPanDelta","Keyboard","keyCodes","down","up","_setPanDelta","_setZoomDelta","_onFocus","blur","_onBlur","_addHooks","_removeHooks","_focused","docEl","scrollTo","panDelta","keys","_panKeys","codes","_zoomKeys","altKey","ctrlKey","metaKey","scrollWheelZoom","wheelDebounceTime","wheelPxPerZoomLevel","ScrollWheelZoom","_onWheelScroll","_delta","debounce","_lastMousePos","_timer","_performZoom","d2","d3","d4","tap","tapTolerance","Tap","_fireClick","_holdTimeout","_isTapValid","_simulateEvent","touchmove","simulatedEvent","createEvent","initMouseEvent","dispatchEvent","touchZoom","bounceAtZoomLimits","TouchZoom","_onTouchStart","_zooming","_centerPoint","_startLatLng","_pinchStartLatLng","_startDist","_startZoom","_onTouchMove","_onTouchEnd","moveFn","Projection","latLng","layerGroup","featureGroup","imageOverlay","videoOverlay","video","svgOverlay","divIcon","gridLayer","circleMarker","circle","polyline","polygon","rectangle","oldL","noConflict"],"mappings":"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","file":"dist/leaflet.js.map"}
0 {"version":3,"sources":["dist/leaflet-src.js"],"names":["global","factory","exports","module","define","amd","L","this","freeze","Object","extend","dest","i","j","len","src","arguments","length","obj","create","proto","F","prototype","bind","fn","slice","Array","apply","call","args","concat","lastId","stamp","_leaflet_id","throttle","time","context","lock","wrapperFn","later","setTimeout","wrapNum","x","range","includeMax","max","min","d","falseFn","formatNum","num","digits","pow","Math","undefined","round","trim","str","replace","splitWords","split","setOptions","options","hasOwnProperty","getParamString","existingUrl","uppercase","params","push","encodeURIComponent","toUpperCase","indexOf","join","templateRe","template","data","key","value","Error","isArray","toString","array","el","emptyImageUrl","getPrefixed","name","window","lastTime","timeoutDefer","Date","timeToCall","requestFn","requestAnimationFrame","cancelFn","cancelAnimationFrame","id","clearTimeout","requestAnimFrame","immediate","cancelAnimFrame","Util","Class","props","NewClass","initialize","callInitHooks","parentProto","__super__","constructor","statics","includes","Mixin","Events","console","warn","stack","checkDeprecatedMixinEvents","_initHooks","_initHooksCalled","include","mergeOptions","addInitHook","init","on","types","type","_on","off","_off","_events","typeListeners","newListener","ctx","listeners","l","_firingCount","splice","fire","propagate","listens","event","target","sourceTarget","_propagateEvent","_eventParents","once","handler","addEventParent","removeEventParent","e","layer","propagatedFrom","addEventListener","removeEventListener","clearAllEventListeners","addOneTimeEventListener","fireEvent","hasEventListeners","Evented","Point","y","trunc","v","floor","ceil","toPoint","Bounds","a","b","points","toBounds","LatLngBounds","corner1","corner2","latlngs","toLatLngBounds","LatLng","lat","lng","alt","isNaN","toLatLng","c","lon","clone","add","point","_add","subtract","_subtract","divideBy","_divideBy","multiplyBy","_multiplyBy","scaleBy","unscaleBy","_round","_floor","_ceil","_trunc","distanceTo","sqrt","equals","contains","abs","getCenter","getBottomLeft","getTopRight","getTopLeft","getBottomRight","getSize","intersects","bounds","min2","max2","xIntersects","yIntersects","overlaps","xOverlaps","yOverlaps","isValid","sw2","ne2","sw","_southWest","ne","_northEast","pad","bufferRatio","heightBuffer","widthBuffer","getSouthWest","getNorthEast","getNorthWest","getNorth","getWest","getSouthEast","getSouth","getEast","latIntersects","lngIntersects","latOverlaps","lngOverlaps","toBBoxString","maxMargin","CRS","latLngToPoint","latlng","zoom","projectedPoint","projection","project","scale","transformation","_transform","pointToLatLng","untransformedPoint","untransform","unproject","log","LN2","getProjectedBounds","infinite","s","transform","precision","other","Earth","distance","wrap","wrapLatLng","sizeInMeters","latAccuracy","lngAccuracy","cos","PI","wrapLng","wrapLat","wrapLatLngBounds","center","newCenter","latShift","lngShift","R","latlng1","latlng2","rad","lat1","lat2","sinDLat","sin","sinDLon","atan2","earthRadius","SphericalMercator","MAX_LATITUDE","atan","exp","Transformation","_a","_b","_c","_d","toTransformation","EPSG3857","code","EPSG900913","svgCreate","document","createElementNS","pointsToPath","rings","closed","len2","p","svg","style$1","documentElement","style","ie","ielt9","edge","navigator","webkit","userAgentContains","android","android23","webkitVer","parseInt","exec","userAgent","androidStock","opera","chrome","gecko","safari","phantom","opera12","win","platform","ie3d","webkit3d","WebKitCSSMatrix","gecko3d","any3d","L_DISABLE_3D","mobile","orientation","mobileWebkit","mobileWebkit3d","msPointer","PointerEvent","MSPointerEvent","pointer","touch","L_NO_TOUCH","DocumentTouch","mobileOpera","mobileGecko","retina","devicePixelRatio","screen","deviceXDPI","logicalXDPI","passiveEvents","supportsPassiveOption","opts","defineProperty","get","canvas","createElement","getContext","createSVGRect","vml","div","innerHTML","shape","firstChild","behavior","adj","toLowerCase","Browser","POINTER_DOWN","POINTER_MOVE","POINTER_UP","POINTER_CANCEL","TAG_WHITE_LIST","_pointers","_pointerDocListener","_pointersCount","addPointerListener","onDown","pointerType","MSPOINTER_TYPE_MOUSE","tagName","preventDefault","_handlePointer","_globalPointerDown","_globalPointerMove","_globalPointerUp","_addPointerStart","onMove","buttons","_addPointerMove","onUp","_addPointerEnd","pointerId","touches","changedTouches","_touchstart","_touchend","_pre","addDoubleTapListener","last","touch$$1","doubleTap","onTouchStart","count","now","delta","onTouchEnd","cancelBubble","prop","newTouch","button","passive","removeDoubleTapListener","touchstart","touchend","dblclick","disableTextSelection","enableTextSelection","_userSelect","_outlineElement","_outlineStyle","TRANSFORM","testProp","TRANSITION","TRANSITION_END","getElementById","getStyle","currentStyle","defaultView","css","getComputedStyle","create$1","className","container","appendChild","remove","parent","parentNode","removeChild","empty","toFront","lastChild","toBack","insertBefore","hasClass","classList","getClass","RegExp","test","addClass","classes","setClass","removeClass","baseVal","correspondingElement","setOpacity","opacity","filter","filterName","filters","item","Enabled","Opacity","_setOpacityIE","setTransform","offset","pos","setPosition","_leaflet_pos","left","top","getPosition","userSelectProperty","disableImageDrag","enableImageDrag","preventOutline","element","tabIndex","restoreOutline","outline","getSizedParentNode","offsetWidth","offsetHeight","body","getScale","rect","getBoundingClientRect","width","height","boundingClientRect","DomUtil","addOne","eventsKey","removeOne","originalHandler","isExternalTarget","timeStamp","originalEvent","elapsed","lastClick","_simulatedClick","_simulated","stop","filterClick","attachEvent","removePointerListener","detachEvent","stopPropagation","_stopped","skipped","disableScrollPropagation","disableClickPropagation","fakeStop","returnValue","getMousePosition","clientX","clientY","clientLeft","clientTop","wheelPxFactor","getWheelDelta","wheelDeltaY","deltaY","deltaMode","deltaX","deltaZ","wheelDelta","detail","skipEvents","events","related","relatedTarget","err","DomEvent","addListener","removeListener","PosAnimation","run","newPos","duration","easeLinearity","_el","_inProgress","_duration","_easeOutPower","_startPos","_offset","_startTime","_animate","_step","_complete","_animId","_runFrame","_easeOut","progress","t","Map","crs","minZoom","maxZoom","layers","maxBounds","renderer","zoomAnimation","zoomAnimationThreshold","fadeAnimation","markerZoomAnimation","transform3DLimit","zoomSnap","zoomDelta","trackResize","_handlers","_layers","_zoomBoundLayers","_sizeChanged","_initContainer","_initLayout","_onResize","_initEvents","setMaxBounds","_zoom","_limitZoom","setView","reset","_zoomAnimated","_createAnimProxy","_proxy","_catchTransitionEnd","_addLayers","_limitCenter","_stop","_loaded","animate","pan","_tryAnimatedZoom","_tryAnimatedPan","_sizeTimer","_resetView","setZoom","zoomIn","zoomOut","setZoomAround","getZoomScale","viewHalf","centerOffset","latLngToContainerPoint","containerPointToLatLng","_getBoundsCenterZoom","getBounds","paddingTL","paddingTopLeft","padding","paddingBR","paddingBottomRight","getBoundsZoom","Infinity","paddingOffset","swPoint","nePoint","fitBounds","fitWorld","panTo","panBy","getZoom","_panAnim","step","_onPanTransitionStep","end","_onPanTransitionEnd","noMoveStart","_mapPane","_getMapPanePos","_rawPanBy","flyTo","targetCenter","targetZoom","from","to","size","startZoom","w0","w1","u1","rho","rho2","r","sq","sinh","n","cosh","r0","u","tanh","start","S","_moveStart","frame","easeOut","_flyToFrame","_move","getScaleZoom","w","_moveEnd","flyToBounds","_panInsideMaxBounds","setMinZoom","oldZoom","setMaxZoom","panInsideBounds","_enforcingBounds","panInside","pixelCenter","pixelPoint","pixelBounds","getPixelBounds","halfPixelBounds","paddedBounds","diff","invalidateSize","oldSize","_lastCenter","newSize","oldCenter","debounceMoveend","locate","_locateOptions","timeout","watch","_handleGeolocationError","message","onResponse","_handleGeolocationResponse","onError","_locationWatchId","geolocation","watchPosition","getCurrentPosition","stopLocate","clearWatch","error","coords","latitude","longitude","accuracy","timestamp","addHandler","HandlerClass","enable","_containerId","_container","_clearControlPos","_resizeRequest","_clearHandlers","_panes","_renderer","createPane","pane","_checkIfLoaded","_moved","layerPointToLatLng","_getCenterLayerPoint","getMinZoom","_layersMinZoom","getMaxZoom","_layersMaxZoom","inside","nw","se","boundsSize","snap","scalex","scaley","_size","clientWidth","clientHeight","topLeftPoint","_getTopLeftPoint","getPixelOrigin","_pixelOrigin","getPixelWorldBounds","getPane","getPanes","getContainer","toZoom","fromZoom","latLngToLayerPoint","containerPointToLayerPoint","layerPointToContainerPoint","layerPoint","mouseEventToContainerPoint","mouseEventToLayerPoint","mouseEventToLatLng","_onScroll","_fadeAnimated","position","_initPanes","_initControlPos","panes","_paneRenderers","markerPane","shadowPane","loading","zoomChanged","_getNewPixelOrigin","pinch","_getZoomSpan","remove$$1","_targets","onOff","_handleDOMEvent","_onMoveEnd","scrollTop","scrollLeft","_findEventTargets","targets","isHover","srcElement","dragging","_draggableMoved","_fireDOMEvent","_mouseEvents","synth","isMarker","getLatLng","_radius","containerPoint","bubblingMouseEvents","enabled","moved","boxZoom","disable","whenReady","callback","_latLngToNewLayerPoint","topLeft","_latLngBoundsToNewLayerBounds","latLngBounds","_getCenterOffset","centerPoint","viewBounds","_getBoundsOffset","_limitOffset","newBounds","pxBounds","projectedMaxBounds","minOffset","maxOffset","_rebound","right","proxy","mapPane","_animatingZoom","_onZoomTransitionEnd","_animMoveEnd","_destroyAnimProxy","z","propertyName","_nothingToAnimate","getElementsByClassName","_animateZoom","startAnim","noUpdate","_animateToCenter","_animateToZoom","control","Control","map","_map","removeControl","addControl","addTo","onAdd","corner","_controlCorners","onRemove","_refocusOnMap","screenX","screenY","focus","corners","_controlContainer","createCorner","vSide","hSide","Layers","collapsed","autoZIndex","hideSingleBase","sortLayers","sortFunction","layerA","layerB","nameA","nameB","baseLayers","overlays","_layerControlInputs","_lastZIndex","_handlingClick","_addLayer","_update","_checkDisabledLayers","_onLayerChange","_expandIfNotCollapsed","addBaseLayer","addOverlay","removeLayer","_getLayer","expand","_section","acceptableHeight","offsetTop","collapse","setAttribute","section","mouseenter","mouseleave","link","_layersLink","href","title","_baseLayersList","_separator","_overlaysList","overlay","sort","setZIndex","baseLayersPresent","overlaysPresent","baseLayersCount","_addItem","display","_createRadioElement","checked","radioHtml","radioFragment","input","label","hasLayer","defaultChecked","layerId","_onInputClick","holder","inputs","addedLayers","removedLayers","addLayer","disabled","_expand","_collapse","Zoom","zoomInText","zoomInTitle","zoomOutText","zoomOutTitle","zoomName","_zoomInButton","_createButton","_zoomIn","_zoomOutButton","_zoomOut","_updateDisabled","_disabled","shiftKey","html","zoomControl","Scale","maxWidth","metric","imperial","_addScales","updateWhenIdle","_mScale","_iScale","maxMeters","_updateScales","_updateMetric","_updateImperial","meters","_getRoundNum","_updateScale","maxMiles","miles","feet","maxFeet","text","ratio","pow10","Attribution","prefix","_attributions","attributionControl","getAttribution","addAttribution","setPrefix","removeAttribution","attribs","prefixAndAttribs","attribution","Handler","_enabled","addHooks","removeHooks","_lastCode","START","END","mousedown","pointerdown","MSPointerDown","MOVE","Draggable","clickTolerance","dragStartTarget","preventOutline$$1","_element","_dragStartTarget","_preventOutline","_onDown","_dragging","finishDrag","which","_moving","first","sizedParent","_startPoint","_parentScale","_onMove","_onUp","_lastTarget","SVGElementInstance","correspondingUseElement","_newPos","_animRequest","_lastEvent","_updatePosition","simplify","tolerance","sqTolerance","markers","Uint8Array","_simplifyDPStep","index","sqDist","maxSqDist","_sqClosestPointOnSegment","newPoints","_simplifyDP","reducedPoints","prev","p1","p2","dx","dy","_reducePoints","pointToSegmentDistance","clipSegment","useLastCode","codeOut","newCode","codeA","_getBitCode","codeB","_getEdgeIntersection","dot","isFlat","_flat","LineUtil","closestPointOnSegment","clipPolygon","clippedPoints","k","edges","_code","PolyUtil","LonLat","Mercator","R_MINOR","tmp","con","ts","tan","phi","dphi","EPSG3395","EPSG4326","Simple","Layer","removeFrom","_mapToAdd","addInteractiveTarget","targetEl","removeInteractiveTarget","_layerAdd","getEvents","beforeAdd","eachLayer","method","_addZoomLimit","_updateZoomLevels","_removeZoomLimit","oldZoomSpan","LayerGroup","getLayerId","clearLayers","invoke","methodName","getLayer","getLayers","zIndex","FeatureGroup","setStyle","bringToFront","bringToBack","Icon","popupAnchor","tooltipAnchor","createIcon","oldIcon","_createIcon","createShadow","_getIconUrl","img","_createImg","_setIconStyles","sizeOption","anchor","shadowAnchor","iconAnchor","marginLeft","marginTop","IconDefault","iconUrl","iconRetinaUrl","shadowUrl","iconSize","shadowSize","imagePath","_detectIconPath","path","MarkerDrag","marker","_marker","icon","_icon","_draggable","dragstart","_onDragStart","predrag","_onPreDrag","drag","_onDrag","dragend","_onDragEnd","_adjustPan","speed","autoPanSpeed","autoPanPadding","iconPos","origin","panBounds","movement","_panRequest","_oldLatLng","closePopup","autoPan","shadow","_shadow","_latlng","oldLatLng","Marker","interactive","keyboard","zIndexOffset","riseOnHover","riseOffset","draggable","_initIcon","update","_removeIcon","_removeShadow","viewreset","setLatLng","setZIndexOffset","getIcon","setIcon","_popup","bindPopup","getElement","_setPos","classToAdd","addIcon","mouseover","_bringToFront","mouseout","_resetZIndex","newShadow","addShadow","_updateOpacity","_initInteraction","_zIndex","_updateZIndex","opt","_getPopupAnchor","_getTooltipAnchor","Path","stroke","color","weight","lineCap","lineJoin","dashArray","dashOffset","fill","fillColor","fillOpacity","fillRule","getRenderer","_initPath","_reset","_addPath","_removePath","redraw","_updatePath","_updateStyle","_updateBounds","_bringToBack","_path","_project","_clickTolerance","CircleMarker","radius","setRadius","getRadius","_point","r2","_radiusY","_pxBounds","_updateCircle","_empty","_bounds","_containsPoint","Circle","legacyOptions","_mRadius","half","latR","bottom","lngR","acos","Polyline","smoothFactor","noClip","_setLatLngs","getLatLngs","_latlngs","setLatLngs","isEmpty","closestLayerPoint","minDistance","minPoint","closest","jLen","_parts","halfDist","segDist","dist","_rings","addLatLng","_defaultShape","_convertLatLngs","result","flat","_projectLatlngs","_rawPxBounds","projectedBounds","ring","_clipPoints","segment","parts","_simplifyPoints","_updatePoly","part","Polygon","f","area","pop","clipped","GeoJSON","geojson","addData","feature","features","geometries","geometry","coordinates","geometryToLayer","asFeature","defaultOptions","resetStyle","onEachFeature","_setLayerStyle","pointToLayer","_coordsToLatLng","coordsToLatLng","_pointToLayer","coordsToLatLngs","properties","pointToLayerFn","markersInheritOptions","levelsDeep","latLngToCoords","latLngsToCoords","getFeature","newGeometry","PointToGeoJSON","toGeoJSON","geoJSON","multi","holes","toMultiPoint","isGeometryCollection","jsons","json","geoJson","ImageOverlay","crossOrigin","errorOverlayUrl","url","_url","_image","_initImage","styleOpts","setUrl","setBounds","zoomanim","wasElementSupplied","onselectstart","onmousemove","onload","onerror","_overlayOnError","image","errorUrl","VideoOverlay","autoplay","loop","keepAspectRatio","vid","onloadeddata","sourceElements","getElementsByTagName","sources","source","SVGOverlay","DivOverlay","_source","_removeTimeout","getContent","_content","setContent","content","visibility","_updateContent","_updateLayout","isOpen","_prepareOpen","node","_contentNode","hasChildNodes","_getAnchor","_containerBottom","_containerLeft","_containerWidth","Popup","minWidth","maxHeight","autoPanPaddingTopLeft","autoPanPaddingBottomRight","keepInView","closeButton","autoClose","closeOnEscapeKey","openOn","openPopup","popup","closeOnClick","closePopupOnClick","preclick","_close","moveend","wrapper","_wrapper","_tipContainer","_tip","_closeButton","_onCloseButtonClick","whiteSpace","scrolledClass","marginBottom","containerHeight","containerWidth","layerPos","containerPos","_popupHandlersAdded","click","_openPopup","keypress","_onKeyPress","move","_movePopup","unbindPopup","togglePopup","isPopupOpen","setPopupContent","getPopup","keyCode","Tooltip","direction","permanent","sticky","tooltip","closeTooltip","_setPosition","tooltipPoint","tooltipWidth","tooltipHeight","openTooltip","bindTooltip","_tooltip","_initTooltipInteractions","unbindTooltip","_tooltipHandlersAdded","_moveTooltip","_openTooltip","mousemove","toggleTooltip","isTooltipOpen","setTooltipContent","getTooltip","DivIcon","bgPos","Element","backgroundPosition","Default","GridLayer","tileSize","updateWhenZooming","updateInterval","maxNativeZoom","minNativeZoom","noWrap","keepBuffer","_levels","_tiles","_removeAllTiles","_tileZoom","_setAutoZIndex","isLoading","_loading","viewprereset","_invalidateAll","createTile","getTileSize","compare","children","edgeZIndex","isFinite","nextFrame","willPrune","tile","current","loaded","fade","active","_onOpaqueTile","_noPrune","_pruneTiles","_fadeFrame","_updateLevels","_onUpdateLevel","_removeTilesAtZoom","_onRemoveLevel","level","_setZoomTransform","_onCreateLevel","_level","retain","_retainParent","_retainChildren","_removeTile","x2","y2","z2","coords2","_tileCoordsToKey","animating","_setView","_clampZoom","noPrune","tileZoom","tileZoomChanged","_abortLoading","_resetGrid","_setZoomTransforms","translate","_tileSize","_globalTileRange","_pxBoundsToTileRange","_wrapX","_wrapY","_getTiledPixelBounds","mapZoom","halfSize","tileRange","tileCenter","queue","margin","noPruneRange","_isValidTile","fragment","createDocumentFragment","_addTile","tileBounds","_tileCoordsToBounds","_keyToBounds","_keyToTileCoords","_tileCoordsToNwSe","nwPoint","sePoint","bp","_initTile","WebkitBackfaceVisibility","tilePos","_getTilePos","_wrapCoords","_tileReady","_noTilesToLoad","newCoords","TileLayer","subdomains","errorTileUrl","zoomOffset","tms","zoomReverse","detectRetina","_onTileRemove","noRedraw","done","_tileOnLoad","_tileOnError","getTileUrl","_getSubdomain","_getZoomForUrl","invertedY","getAttribute","tilePoint","complete","tileLayer","TileLayerWMS","defaultWmsParams","service","request","styles","format","transparent","version","wmsParams","realRetina","_crs","_wmsVersion","parseFloat","projectionKey","bbox","setParams","WMS","wms","Renderer","_updatePaths","_destroyContainer","_onZoom","zoomend","_onZoomEnd","_onAnimZoom","ev","_updateTransform","currentCenterPoint","_center","topLeftOffset","Canvas","_onViewPreReset","_postponeUpdatePaths","_draw","_onMouseMove","_onClick","_handleMouseOut","_ctx","_redrawRequest","_redrawBounds","_redraw","m","_updateDashArray","order","_order","_drawLast","next","_drawFirst","_requestRedraw","_extendRedrawBounds","dashValue","Number","_dashArray","_clear","clearRect","save","beginPath","clip","_drawing","restore","closePath","_fillStroke","arc","globalAlpha","fillStyle","setLineDash","lineWidth","strokeStyle","clickedLayer","_fireEvent","moving","_handleMouseHover","_hoveredLayer","_mouseHoverThrottled","candidateHoveredLayer","canvas$1","vmlCreate","namespaces","vmlMixin","coordsize","_stroke","_fill","stroked","filled","dashStyle","endcap","joinstyle","_setPath","create$2","SVG","zoomstart","_onZoomStart","_rootGroup","_svgSize","removeAttribute","svg$1","_getPaneRenderer","_createRenderer","preferCanvas","Rectangle","_boundsToLatLngs","BoxZoom","_pane","overlayPane","_resetStateTimeout","_destroy","_onMouseDown","_resetState","_clearDeferredResetState","contextmenu","mouseup","_onMouseUp","keydown","_onKeyDown","_box","_finish","boxZoomBounds","doubleClickZoom","DoubleClickZoom","_onDoubleClick","inertia","inertiaDeceleration","inertiaMaxSpeed","worldCopyJump","maxBoundsViscosity","Drag","_onPreDragLimit","_onPreDragWrap","_positions","_times","_offsetLimit","_viscosity","_lastTime","_lastPos","_absPos","_prunePositions","shift","pxCenter","pxWorldCenter","_initialWorldOffset","_worldWidth","_viscousLimit","threshold","limit","worldWidth","halfWidth","newX1","newX2","newX","noInertia","ease","speedVector","limitedSpeed","limitedSpeedVector","decelerationDuration","keyboardPanDelta","Keyboard","keyCodes","down","up","_setPanDelta","_setZoomDelta","_onFocus","blur","_onBlur","_addHooks","_removeHooks","_focused","docEl","scrollTo","panDelta","keys","_panKeys","codes","_zoomKeys","altKey","ctrlKey","metaKey","scrollWheelZoom","wheelDebounceTime","wheelPxPerZoomLevel","ScrollWheelZoom","_onWheelScroll","_delta","debounce","_lastMousePos","_timer","_performZoom","d2","d3","d4","tap","tapTolerance","Tap","_fireClick","_holdTimeout","_isTapValid","_simulateEvent","touchmove","simulatedEvent","createEvent","initMouseEvent","dispatchEvent","touchZoom","bounceAtZoomLimits","TouchZoom","_onTouchStart","_zooming","_centerPoint","_startLatLng","_pinchStartLatLng","_startDist","_startZoom","_onTouchMove","_onTouchEnd","moveFn","Projection","latLng","layerGroup","featureGroup","imageOverlay","videoOverlay","video","svgOverlay","divIcon","gridLayer","circleMarker","circle","polyline","polygon","rectangle","oldL","noConflict"],"mappings":"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","file":"dist/leaflet.js.map"}
44 kramdown:
55 entity_output: as_input
66
7 latest_leaflet_version: 1.5.0
7 latest_leaflet_version: 1.5.1
8 latest_leaflet_reference: 1.5.0
89
910 # Integrity hashes for both leaflet.js and leaflet-src.js
1011 # These will be shown in the downloads page
1112 # See https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity
1213 integrity_hash_css: "sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ=="
13 integrity_hash_source: "sha512-7Yh/0Xxfcb+mpGIYFHV3qBN2G+KMNXGMKqUNUNwLFA8+LqaQIT+84GN7WUOpwa6elFljpH2kgcxRoOcsjHf/gQ=="
14 integrity_hash_uglified: "sha512-3Wcxp7F9bV2pl+MBgrL6Pz7AJASLpemmQPIiPA0lDs3ImF0z4JuuMIBPeirLbgIuhfH2gJyGWZjvm6M+Zr7L6Q=="
14 integrity_hash_source: "sha512-eldJj3obVsCO9Tlrj/J8AFrrTFD4+sN8d9HdwKAqZuSgHloWOm6IzetLy1uQnwh9qLssrY3TAgIJQfjPfQJxHQ=="
15 integrity_hash_uglified: "sha512-GffPMF3RvMeYyc1LWMHtK8EbPv0iNZ8/oTtHPx9/cc2ILxQ+u905qIwdpULaqDkyBKgOaB57QTMg7ztg8Jm2Og=="
0 <!DOCTYPE html>
1 <html>
2 <head>
3 <!-- From https://superdevresources.com/redirects-jekyll-github-pages/ -->
4 <link rel="canonical" href="{{ page.redirect_to }}"/>
5 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
6 <meta http-equiv="refresh" content="0;url={{ page.redirect_to }}" />
7 </head>
8 <body>
9 <h1>Redirecting...</h1>
10 <a href="{{ page.redirect_to }}">Click here if you are not redirected.<a>
11 <script>
12 var url = '{{ page.redirect_to }}';
13 if (location.hash) {
14 url += location.hash;
15 }
16 location = url;
17 </script>
18 </body>
19 </html>
0 ---
1 layout: v2
2 ---
3
4 <h2>Redirecting...</h2>
5 <a href="{{ page.redirect_to }}">Click here if you are not redirected.</a>
6 <script>
7 location = '{{ page.redirect_to }}' + (location.hash || '');
8 </script>
99 {% if title == '' %}
1010 <meta property="og:title" content="Leaflet — an open-source JavaScript library for interactive maps" />
1111 <meta property="og:description" content="Leaflet is a modern, lightweight open-source JavaScript library for mobile-friendly interactive maps." />
12 <meta property="og:image" content="https://leafletjs.com/docs/images/logo.png" />
12 <meta property="og:image" content="{{ root }}docs/images/logo.png" />
1313
1414 <meta itemprop="name" content="Leaflet">
1515 <meta itemprop="description" content="Leaflet — a modern, lightweight open-source JavaScript library for mobile-friendly interactive maps.">
16 <meta itemprop="image" content="https://leafletjs.com/docs/images/logo.png">
16 <meta itemprop="image" content="{{ root }}docs/images/logo.png">
17 {% endif %}
18
19 {% if page.redirect_to %}
20 <link rel="canonical" href="{{ page.redirect_to }}"/>
21 <meta http-equiv="refresh" content="0;url={{ page.redirect_to }}" />
1722 {% endif %}
1823
1924 <meta name="viewport" content="width=device-width, initial-scale=1.0">
2631
2732 <link rel="stylesheet" href="{{ root }}docs/css/normalize.css" />
2833 <link rel="stylesheet" href="{{ root }}docs/css/main.css" />
34 {% if page.title == 'Documentation' %}
35 <link rel="stylesheet" href="{{ root }}docs/css/reference.css" />
36 {% endif %}
2937
3038 <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,400italic,700,300' rel='stylesheet' type='text/css'>
3139
7280 {% if page.title == 'Documentation' %}
7381 <span>Docs</span>
7482 {% else %}
75 <a href="{{ root }}reference-{{ site.latest_leaflet_version }}.html">Docs</a>
83 <a href="{{ root }}reference-{{ site.latest_leaflet_reference }}.html">Docs</a>
7684 {% endif %}
7785 </li>
7886 <li>
104112 {{ content }}
105113
106114 <div class="footer">
107 <p>&copy; 2017 <a href="http://agafonkin.com/en">Vladimir Agafonkin</a>. Maps &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.</p>
115 <p>&copy; 2010–2019 <a href="http://agafonkin.com/en">Vladimir Agafonkin</a>. Maps &copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.</p>
108116 </div>
109117
110118 </div>
114122 <a class="ext-link github" href="http://github.com/Leaflet/Leaflet" title="View Source on GitHub"><img alt="View Source on GitHub" src="{{root}}docs/images/github-round.png" width="46" /></a>
115123 <a class="ext-link forum" href="https://stackoverflow.com/questions/tagged/leaflet" title="Ask for help on Stack Overflow"><img alt="Leaflet questions on Stack Overflow" src="{{root}}docs/images/forum-round.png" width="46" /></a>
116124 </nav>
117
118 <script>
119 hljs.configure({tabReplace: ' '});
120 hljs.initHighlighting();
121
122 (function () {
123 if (document.body.className.indexOf('api-page') !== -1) {
124 var headers = document.getElementsByTagName('h2');
125
126 for (var i = 0, len = headers.length; i < len; i++) {
127 if (headers[i].id) {
128 headers[i].onclick = function(e) {
129 if (e.offsetX < 0) {
130 window.location.hash = '#' + this.id;
131 }
132 };
133 }
134 }
135 }
136 })();
137 </script>
138125
139126 <script>
140127 var _gaq = _gaq || [];
154141 </script>
155142
156143 <script src="{{ root }}docs/js/docs.js"></script>
144 {% if page.title == 'Documentation' %}
145 <script src="{{ root }}docs/js/reference.js"></script>
146 {% endif %}
157147 </body>
158148 </html>
0 ---
1 layout: post
2 title: Announcing Leaflet 1.5.1
3 description: Hotfix release is out!
4 author: Andrew Cherniavskii
5 authorsite: https://github.com/cherniavskii
6 ---
7
8 Leaflet 1.5.1 is out!
9
10 This is a hotfix release, which fixes module export regression in 1.5.0.
11
12 Changelog is available [here](https://github.com/Leaflet/Leaflet/blob/master/CHANGELOG.md).
13
14 To get the new release, update your dependencies in your favorite package manager, or check the [downloads page](https://leafletjs.com/download.html).
15
16 Cheers,<br>
17 The Leaflet team.
0 h2 {
1 margin-top: 2em;
2 }
3
4 h3 {
5 margin-top: 1em;
6 margin-bottom: .5em;
7 }
8
9 div.accordion {
10 width: 100%;
11 /* overflow: hidden; */
12 }
13
14 div.accordion-overflow {
15 width: 100%;
16 overflow: hidden;
17 }
18
19 label,
20 section > h4 {
21 display: block;
22 font-weight: 500;
23 margin: 1em 0 0.25em;
24 }
25
26 label {
27 cursor: pointer;
28 }
29
30 div.accordion > div.accordion-overflow > div.accordion-content {
31 max-height: 0;
32 display: none;
33 }
34
35 div.accordion.collapsed > div.accordion-overflow > div.accordion-content {
36 animation-duration: 0.4s;
37 animation-name: collapse;
38 /* height: 0; */
39 max-height: 0;
40 display: block;
41 overflow: hidden;
42 }
43
44 div.accordion.expanded > div.accordion-overflow > div.accordion-content {
45 animation-duration: 0.4s;
46 animation-name: expand;
47 /* height: auto; */
48 max-height: none;
49 display: block;
50 }
51
52 @keyframes collapse {
53 0% { max-height: 100vh; }
54 100% { max-height: 0; }
55 }
56
57 @keyframes expand {
58 0% { max-height: 0; }
59 100% { max-height: 100vh; }
60 }
61
62 /* div.accordion > div.accordion-content {
63 transition: max-height 0.4s ease-out 0s;
64 }*/
65
66 div.accordion.expanded > label > span.expander {
67 transform: rotate(90deg);
68 }
69
70 div.accordion > label > span.expander {
71 transition: transform 0.4s ease-out 0s;
72 display: inline-block;
73 font-size: 12px;
74 }
75
76
77 table {
78 margin-bottom: 0;
79 }
80
81 /* Markdown renders some spurious <p>s inside the table cells */
82 td > p {
83 margin:0;
84 }
85
86 /* This just looks bad (with the current grey headers for sections which Vlad doesn't really like, so might have to change this) */
87 section.collapsable > div.section-comments > p {
88 margin:0;
89 }
90
91 div.section-comments {
92 margin-bottom: 0.25em;
93 }
94
95 /* section.collapsable div.section-comments {
96 margin: 1em;
97 font-size: 12px;
98 }*/
99
100 section.collapsable pre {
101 margin:0;
102 }
103
104 section {
105 margin-left: 0.5em;
106 }
107
108 section h4, section.collapsable h4 {
109 margin-left: -0.5em;
110 }
0 /* global hljs */
1 hljs.configure({tabReplace: ' '});
2 hljs.initHighlighting();
03
14 var tocCopy = document.createElement('div');
25 tocCopy.id = 'toc-copy';
47 var toc = document.querySelector('#toc');
58
69 if (toc) {
7 tocCopy.innerHTML = toc.innerHTML;
8 document.getElementsByClassName('container')[0].appendChild(tocCopy);
10 tocCopy.innerHTML = toc.innerHTML;
11 document.getElementsByClassName('container')[0].appendChild(tocCopy);
912
10 var menus = document.querySelectorAll('#toc-copy ul');
13 var menus = document.querySelectorAll('#toc-copy ul');
14 var i;
1115
12 for (var i = 0; i < menus.length; i++) {
13 menus[i].addEventListener('mouseover', function() {
14 this.previousElementSibling.classList.add('hover')
15 });
16 for (i = 0; i < menus.length; i++) {
17 menus[i].addEventListener('mouseover', function () {
18 this.previousElementSibling.classList.add('hover');
19 });
1620
17 menus[i].addEventListener('mouseout', function() {
18 this.previousElementSibling.classList.remove('hover')
19 });
20 }
21 menus[i].addEventListener('mouseout', function () {
22 this.previousElementSibling.classList.remove('hover');
23 });
24 }
2125
22 var labels = document.querySelectorAll('#toc-copy h4');
26 var labels = document.querySelectorAll('#toc-copy h4');
2327
24 for (var i = 0; i < labels.length; i++) {
25 labels[i].addEventListener('click', function() {
26 this.classList.toggle('active')
27 });
28 }
28 for (i = 0; i < labels.length; i++) {
29 labels[i].addEventListener('click', function () {
30 this.classList.toggle('active');
31 });
32 }
2933
30 tocCopy.addEventListener('click', function(e) {
31 if (e.target.nodeName != 'H4') {
32 this.classList.toggle('active');
33 }
34 });
34 tocCopy.addEventListener('click', function (e) {
35 if (e.target.nodeName !== 'H4') {
36 this.classList.toggle('active');
37 }
38 });
3539
36 var scrollPos = function scrollPos () {
37 var scroll = window.scrollY;
40 var scrollPos = function scrollPos() {
41 var scroll = window.scrollY;
3842
39 if (scroll >= (toc.offsetHeight + toc.offsetTop)) {
40 document.body.classList.add('scrolled');
41 } else {
42 document.body.classList.remove('scrolled');
43 }
44 }
43 if (scroll >= (toc.offsetHeight + toc.offsetTop)) {
44 document.body.classList.add('scrolled');
45 } else {
46 document.body.classList.remove('scrolled');
47 }
48 };
4549
46 scrollPos();
50 scrollPos();
4751
48 window.addEventListener('scroll', function(e) {
49 scrollPos();
50 });
52 window.addEventListener('scroll', function () {
53 scrollPos();
54 });
5155 }
0 if (document.body.className.indexOf('api-page') !== -1) {
1
2 var elems = document.querySelectorAll('h2, h3, h4, tr');
3
4 for (var i = 0, len = elems.length; i < len; i++) {
5 var el = elems[i];
6
7 if (el.id) {
8 var anchor = document.createElement('a');
9 anchor.setAttribute('anchor', el.id);
10 if (!el.children.length) {
11 // For headers, insert the anchor before.
12 el.parentNode.insertBefore(anchor, el);
13 } else {
14 // For table rows, insert the anchor inside the first <td>
15 el.querySelector('td').appendChild(anchor);
16
17 // Clicking on the row (meaning "the link icon on the ::before)
18 // jumps to the item
19 el.parentNode.onclick = function () {
20 return function (ev) {
21 if (ev.offsetX < 0) {
22 window.location.hash = '#' + ev.target.parentNode.id;
23 }
24 };
25 }(el.id);
26 }
27 }
28 }
29
30 elems = document.querySelectorAll('div.accordion');
31 for (i = 0, len = elems.length; i < len; i++) {
32 el = elems[i];
33
34 el.querySelector('label').addEventListener('click', function (c) {
35 return function () {
36 if (c.className === 'accordion expanded') {
37 c.className = 'accordion collapsed';
38 } else {
39 c.className = 'accordion expanded';
40 }
41 };
42 }(el));
43
44 // el.className = 'accordion collapsed';
45 // el.querySelector('.accordion-content').style.display = 'none';
46 }
47
48 }
1111 <th>Description</th>
1212 </tr>
1313 <tr>
14 <td><a href="http://cdn.leafletjs.com/leaflet/v1.5.0/leaflet.zip">Leaflet 1.5.0</a></td>
14 <td><a href="http://cdn.leafletjs.com/leaflet/v1.5.1/leaflet.zip">Leaflet 1.5.1</a></td>
1515 <td>Stable version, released on May 8, 2019.</td>
1616 </tr>
1717 <tr>
3333 zoom: 1
3434 });
3535
36 var positron = L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
37 attribution: "CartoDB"
36 var positron = L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
37 attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="https://carto.com/attribution">CARTO</a>'
3838 }).addTo(map);
3939
4040 var marker = L.marker(trd).addTo(map);
5151 tilt: true
5252 });
5353
54 var positron = L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
55 attribution: "CartoDB"
54 var positron = L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
55 attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="https://carto.com/attribution">CARTO</a>'
5656 }).addTo(map);
5757
5858 </script>
77 zoom: 1
88 });
99
10 var positron = L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
11 attribution: "CartoDB"
10 var positron = L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
11 attribution: '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="https://carto.com/attribution">CARTO</a>'
1212 }).addTo(map);
1313
1414 L.Control.Watermark = L.Control.extend({
1515 // Layers in this pane are non-interactive and do not obscure mouse/touch events
1616 map.getPane('labels').style.pointerEvents = 'none';
1717
18 var cartodbAttribution = '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="https://carto.com/attribution">CARTO</a>';
1819
19 var cartodbAttribution = '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://cartodb.com/attributions">CartoDB</a>';
20
21 var positron = L.tileLayer('http://{s}.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}.png', {
20 var positron = L.tileLayer('https://{s}.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}.png', {
2221 attribution: cartodbAttribution
2322 }).addTo(map);
2423
2020
2121 ## The default is not always right
2222
23 In some particular cases, the default order is not the right one for the map. We can demonstrate this with the [Carto basemaps](https://cartodb.com/basemaps/) and labels:
23 In some particular cases, the default order is not the right one for the map. We can demonstrate this with the [Carto basemaps](https://carto.com/location-data-services/basemaps/) and labels:
2424
2525
2626 <style>
7878 With the pane now ready, we can add the layers, paying attention to use the `pane` option on the labels tiles:
7979
8080
81 var positron = L.tileLayer('http://{s}.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}.png', {
81 var positron = L.tileLayer('https://{s}.basemaps.cartocdn.com/light_nolabels/{z}/{x}/{y}.png', {
8282 attribution: '©OpenStreetMap, ©CartoDB'
8383 }).addTo(map);
8484
85 var positronLabels = L.tileLayer('http://{s}.basemaps.cartocdn.com/light_only_labels/{z}/{x}/{y}.png', {
85 var positronLabels = L.tileLayer('https://{s}.basemaps.cartocdn.com/light_only_labels/{z}/{x}/{y}.png', {
8686 attribution: '©OpenStreetMap, ©CartoDB',
8787 pane: 'labels'
8888 }).addTo(map);
4646 Here we specify 16 as the maximum zoom when setting the map view automatically. As soon as the user agrees to share its location and it's detected by the browser, the map will set the view to it. Now we have a working fullscreen mobile map! But what if we need to do something after the geolocation completed? Here's what the `locationfound` and `locationerror` events are for. Let's for example add a marker in the detected location, showing accuracy in a popup, by adding an event listener to `locationfound` event before the `locateAndSetView` call:
4747
4848 function onLocationFound(e) {
49 var radius = e.accuracy / 2;
49 var radius = e.accuracy;
5050
5151 L.marker(e.latlng).addTo(map)
5252 .bindPopup("You are within " + radius + " meters from this point").openPopup();
1010 zoomDelta: 0.25
1111 });
1212
13 var cartodbAttribution = '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://cartodb.com/attributions">CartoDB</a>';
13 var cartodbAttribution = '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="https://carto.com/attribution">CARTO</a>';
1414
15 var positron = L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
15 var positron = L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
1616 attribution: cartodbAttribution
1717 }).addTo(map);
1818
1010 dragging: false
1111 });
1212
13 var cartodbAttribution = '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://cartodb.com/attributions">CartoDB</a>';
13 var cartodbAttribution = '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="https://carto.com/attribution">CARTO</a>';
1414
15 var positron = L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
15 var positron = L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
1616 attribution: cartodbAttribution
1717 }).addTo(map);
18
1918
2019 function zoomCycle(){
2120 map.setZoom(0);
99 dragging: false
1010 });
1111
12 var cartodbAttribution = '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://cartodb.com/attributions">CartoDB</a>';
12 var cartodbAttribution = '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="https://carto.com/attribution">CARTO</a>';
1313
14 var positron = L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
14 var positron = L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
1515 attribution: cartodbAttribution
1616 }).addTo(map);
1717
88 maxZoom: 1
99 });
1010
11 var cartodbAttribution = '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://cartodb.com/attributions">CartoDB</a>';
11 var cartodbAttribution = '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="https://carto.com/attribution">CARTO</a>';
1212
13 var positron = L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
13 var positron = L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
1414 attribution: cartodbAttribution
1515 }).addTo(map);
1616
88 maxZoom: 0
99 });
1010
11 var cartodbAttribution = '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://cartodb.com/attributions">CartoDB</a>';
11 var cartodbAttribution = '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="https://carto.com/attribution">CARTO</a>';
1212
13 var positron = L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
13 var positron = L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
1414 attribution: cartodbAttribution
1515 }).addTo(map);
1616
3636
3737 Let's have a look at a simple map locked at zoom zero:
3838
39 ```
4039 var map = L.map('map', {
4140 minZoom: 0,
4241 maxZoom: 0
4342 });
4443
45 var positron = L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
44 var cartodbAttribution = '&copy; <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="https://carto.com/attribution">CARTO</a>';
45
46 var positron = L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
4647 attribution: cartodbAttribution
4748 }).addTo(map);
4849
4950 map.setView([0, 0], 0);
50 ```
5151
5252 {% include frame.html url="example-zero.html" %}
5353
150150 [javascript timeouts](https://developer.mozilla.org/docs/Web/API/WindowTimers/setTimeout)
151151 to do this automatically:
152152
153 ```
154153 L.control.scale().addTo(map);
155154
156155 setInterval(function(){
159158 map.setView([60, 0]);
160159 }, 2000);
161160 }, 4000);
162 ```
163161
164162 {% include frame.html url="example-scale.html" %}
165163
175173
176174 This example again uses timeouts to alternate between zoom levels `0` and `1` automatically:
177175
178 ```
179176 setInterval(function(){
180177 map.setZoom(0);
181178 setTimeout(function(){
182179 map.setZoom(1);
183180 }, 2000);
184181 }, 4000);
185 ```
186182
187183 {% include frame.html url="example-setzoom.html" %}
188184
218214
219215 The following example uses a `zoomSnap` value of `0.25`:
220216
221 ```
222217 var map = L.map('map', {
223218 zoomSnap: 0.25
224219 });
225 ```
226220
227221 {% include frame.html url="example-fractional.html" %}
228222
243237 or the `+`/`-` keys in your keyboard.
244238
245239 For the mousewheel zoom, the [`wheelPxPerZoomLevel`](/reference.html#map-wheelpxperzoomlevel)
246 option controls how fast the mousewheel zooms in our out.
240 option controls how fast the mousewheel zooms in or out.
247241
248242 Here is an example with `zoomSnap` set to zero:
249243
250 ```
251244 var map = L.map('map', {
252245 zoomDelta: 0.25,
253246 zoomSnap: 0
254247 });
255 ```
256248
257249 Try the following, and see how the zoom level changes:
258250
11 layout: v2
22 ---
33
4 <div class="announcement">May 8, 2019 — <a href="/2019/05/08/leaflet-1.5.0.html">Leaflet 1.5.0</a> has been released!</div>
4 <div class="announcement">May 8, 2019 — <a href="/2019/05/08/leaflet-1.5.1.html">Leaflet 1.5.1</a> has been released!</div>
55
66 <p>Leaflet is the leading open-source JavaScript library for mobile-friendly interactive maps.
77 Weighing just about <abbr title="38 KB gzipped &mdash; that's 133 KB minified and 378 KB in the source form, with 10 KB of CSS (2 KB gzipped) and 11 KB of images.">38 KB of JS</abbr>,
731731 <a href="https://github.com/robertomlsoares">Roberto Soares</a>
732732 </td>
733733 </tr>
734 <tr>
735 <td>
736 <a href="https://github.com/allartk/leaflet.offline">leaflet.offline</a>
737 </td><td>
738 Allow tiles to be stored in an database for offline access. Original plugin.<a href="http://allartk.github.io/leaflet.offline/">Demo</a>.
739 </td><td>
740 <a href="https://github.com/allartk">Allart Kooiman</a>
741 </td>
742 </tr>
734743 </table>
735744
736745
771780 <td>
772781 <a href="https://github.com/IvanSanchez/Leaflet.VectorGrid">Leaflet.VectorGrid</a>
773782 </td><td>
774 Display gridded vector data (GeoJSON or TopoJSON sliced with geojson-vt, or protobuf vector tiles) in Leaflet 1.0.0. See <a href="https://github.com/IvanSanchez/Leaflet.VectorGrid#demo">demos</a>. Not compatible with 0.7.x.
783 Display gridded vector data (GeoJSON or TopoJSON sliced with geojson-vt, or protobuf vector tiles) in Leaflet 1.0.0. See <a href="https://github.com/IvanSanchez/Leaflet.VectorGrid#demos">demos</a>. Not compatible with 0.7.x.
775784 </td><td>
776785 <a href="https://github.com/IvanSanchez">Iván Sánchez</a>
777786 </td>
802811 Load your own data from various GIS formats.
803812
804813 <table class="plugins"><tr><th>Plugin</th><th>Description</th><th>Maintainer</th></tr>
814 <tr>
815 <td>
816 <a href="https://github.com/windycom/leaflet-kml">leaflet-kml</a>
817 </td><td>
818 Loads &amp; displays KML
819 </td><td>
820 <a href="https://github.com/windycom">Windyx</a>
821 </td>
822 </tr>
805823 <tr>
806824 <td>
807825 <a href="https://github.com/mapbox/leaflet-omnivore">leaflet-omnivore</a>
10841102 <a href="http://github.com/GEOF-OSGL">Dražen Tutić, Ana Kuveždić Divjak</a>
10851103 </td>
10861104 </tr>
1105 <tr>
1106 <td>
1107 <a href="https://gitlab.com/IvanSanchez/leaflet.maidenhead">Leaflet.Maidenhead</a>
1108 </td><td>
1109 An implementation of the <a href="https://en.wikipedia.org/wiki/Maidenhead_Locator_System">Maidenhead Locator System grid</a> (<a href="https://ivansanchez.gitlab.io/leaflet.maidenhead/demo.html">(demo)</a>).
1110 </td><td>
1111 <a href="https://github.com/IvanSanchez">Iván Sánchez Ortega</a>
1112 </td>
1113 </tr>
10871114 </table>
10881115
10891116
11511178 </td>
11521179 <td>
11531180 <a href="https://github.com/barryhunter/">Barry Hunter</a>
1181 </td>
1182 </tr>
1183 <tr>
1184 <td>
1185 <a href="https://github.com/rwev/leaflet-radar">leaflet-radar</a>
1186 </td>
1187 <td>
1188 Animated satellite weather radar overlays for Leaflet.
1189 </td>
1190 <td>
1191 <a href="https://github.com/rwev/">rwev</a>
1192 </td>
1193 </tr>
1194 <tr>
1195 <td>
1196 <a href="https://github.com/publiclab/leaflet-environmental-layers">leaflet-environmental-layers
1197 </a>
1198 </td>
1199 <td>
1200 Collection of different environmental map layers in an easy to use Leaflet library <a href="https://publiclab.github.io/leaflet-environmental-layers/example/index.html#3/43.00/-46.26/BL2">Demo</a>.
1201 </td>
1202 <td>
1203 <a href="https://github.com/publiclab">Public Lab</a>
11541204 </td>
11551205 </tr>
11561206 </table>
20642114 <td>
20652115 <a href="https://github.com/giscience/geogrid.js">geogrid.js</a>
20662116 </td><td>
2067 Displays data aggregated by the ISEA3H discrete global grid system. The data can, e.g., be delived by using <a href="https://github.com/giscience/measures-rest">Measures REST</a> (a framework to deliver data aggregated by the grid) or <a href="https://github.com/giscience/geogrid">geogrid</a> (a library for handling the grid in case that you want to aggregate data manually).
2117 Displays data aggregated by the ISEA3H discrete global grid system. The data can, e.g., be delivered by using <a href="https://github.com/giscience/measures-rest">Measures REST</a> (a framework to deliver data aggregated by the grid) or <a href="https://github.com/giscience/geogrid">geogrid</a> (a library for handling the grid in case that you want to aggregate data manually).
20682118 </td><td>
20692119 <a href="http://www.mocnik-science.net">F.-B. Mocnik,</a><br><a href="http://www.geog.uni-heidelberg.de/gis/index_en.html">GIScience Research Group,<br>Heidelberg University</a>
20702120 </td>
22132263 <table class="plugins"><tr><th>Plugin</th><th>Description</th><th>Maintainer</th></tr>
22142264 <tr>
22152265 <td>
2216 <a href="https://github.com/codeofsumit/leaflet.pm">Leaflet.PM</a>
2217 </td><td>
2218 Geometry Management for Leaflet 1.0 and higher. Draw, Edit, Cut, Drag and Snap Layers like Markers, Circles, Rectangles, Polylines, Polygons, LayerGroups, geoJSON, MultiPolygons, MultiLineStrings. Supports holes in polygons, snapping, canvas mode and more. (<a href="https://leafletpm.now.sh">Demo</a>)
2266 <a href="https://github.com/geoman-io/leaflet-geoman">Leaflet-Geoman</a>
2267 </td><td>
2268 ⭐ Geometry Management for Leaflet 1.0 and higher. Draw, Edit, Cut, Drag and Snap Layers like Markers, Circles, Rectangles, Polylines, Polygons, LayerGroups, geoJSON, MultiPolygons, MultiLineStrings. Supports holes in polygons, snapping, canvas mode and more. (<a href="https://geoman.io/leaflet-geoman">Demo</a>)
22192269 </td><td>
22202270 <a href="https://github.com/codeofsumit">Sumit Kumar</a>
22212271 </td>
23872437 <a href="https://github.com/tcoupin">Thibault Coupin</a>
23882438 </td>
23892439 </tr>
2440 <tr>
2441 <td>
2442 <a href="https://github.com/sagarpreet-chadha/Leaflet-Craft">Leaflet-Craft</a>
2443 </td><td>
2444 Extends Leaflet.FreeDraw and gives extended features like Undo-Redo, deleting markers,dynamic area calculation of polygons ,various hooks/events and in-build control bars, etc.
2445 </td><td>
2446 <a href="https://github.com/sagarpreet-chadha">Sagarpreet Chadha</a>
2447 </td>
2448 </tr>
23902449 </table>
23912450
23922451
24512510 A Leaflet plugin to view interactive height profiles of GeoJSON lines using <a href="http://d3js.org/">d3</a>.
24522511 </td><td>
24532512 <a href="https://github.com/MrMufflon">Felix Bache</a>
2513 </td>
2514 </tr>
2515 <tr>
2516 <td>
2517 <a href="https://github.com/GIScience/Leaflet.Heightgraph">Leaflet.Heightgraph</a>
2518 </td><td>
2519 Inspired by Leaflet.Elevation this Leaflet plugin allows you to view interactive height profiles stored as GeoJSON featuring the handy ability to visualize arbitrary segments (e.g. surface types or steepness categories) with customized colors stored as properties within the GeoJSON itself.
2520 </td><td>
2521 <a href="https://github.com/boldtrn">Robin Boldt</a>
24542522 </td>
24552523 </tr>
24562524 <tr>
25862654 <a href="https://github.com/yafred">YaFred</a>
25872655 </td>
25882656 </tr>
2657 <tr>
2658 <td>
2659 <a href="https://github.com/slutske22/leaflet-popup-modifier">leaflet-popup-modifier</a>
2660 </td><td>
2661 Allows user to edit the contents of a popup, or use the popup to remove its source marker.
2662 </td><td>
2663 <a href="https://github.com/slutske22">Slutske22</a>
2664 </td>
2665 </tr>
25892666 </table>
25902667
25912668
26802757 <a href="https://github.com/zakjan/leaflet-lasso">leaflet-lasso</a>
26812758 </td>
26822759 <td>
2683 True lasso selection plugin
2760 True lasso selection plugin (<a href="http://zakjan.github.io/leaflet-lasso/">Demo</a>)
26842761 </td>
26852762 <td>
26862763 <a href="https://github.com/zakjan">Jan Zak</a>
28402917 <a href="https://github.com/vogdb">vogdb</a>
28412918 </td>
28422919 </tr>
2920 <tr>
2921 <td>
2922 <a href="https://github.com/Kanahiro/Leaflet.Control.Appearance">Leaflet.Control.Appearance</a>
2923 </td><td>
2924 Extend of Control.Layers, can control Appearances of Layers - color, opacity and able to remove a overlay layer. <a href="https://github.com/Kanahiro/Leaflet.Control.Appearance">Example</a>
2925 </td><td>
2926 <a href="https://www.labo288.site/">Kanahiro Iguchi</a>
2927 </td>
2928 </tr>
28432929 </table>
28442930
28452931
30773163 <a href="https://github.com/mlevans">Michael Lawrence Evans</a>
30783164 </td>
30793165 </tr>
3166 <tr>
3167 <td>
3168 <a href="https://github.com/rwev/leaflet-view-meta">leaflet-view-meta</a>
3169 </td>
3170 <td>
3171 Plugin control that displays and persists map view meta-data, center and boundary coordinates to URL for precise sharing and view reconstruction.
3172 </td>
3173 <td>
3174 <a href="https://github.com/rwev">rwev</a>
3175 </td>
3176 </tr>
30803177 </table>
30813178
30823179
32823379 <a href="https://github.com/gokertanrisever">Goker Tanrisever</a>
32833380 </td>
32843381 </tr>
3382 <tr>
3383 <td>
3384 <a href="https://github.com/rwev/leaflet-reticle">leaflet-reticle</a>
3385 </td>
3386 <td>
3387 Leaflet control adding a centering reticle consisting of independently calculated latitude and longitude scales.
3388 </td>
3389 <td>
3390 <a href="https://github.com/rwev">rwev</a>
3391 </td>
3392 </tr>
3393
32853394 </table>
32863395
32873396
33213430 Captures mouseclick and displays its coordinates with easy way to copy them.
33223431 </td><td>
33233432 <a href="https://github.com/zimmicz">Michal Zimmermann</a>
3433 </td>
3434 </tr>
3435 <tr>
3436 <td>
3437 <a href="https://github.com/tinjaw/Leaflet-Copy-Coordinates-Control">Leaflet Copy Coordinates Control</a>
3438 </td><td>
3439 Works with Leaflet to capture mouseclicks on a map and display the associated coordinates with an easy way to copy them. (Derived from original work by zimmicz. Forked mainly to provide npm functionality.)
3440 </td><td>
3441 <a href="https://github.com/tinjaw">Chaim Krause</a>
33243442 </td>
33253443 </tr>
33263444 <tr>
36023720 </tr>
36033721 <tr>
36043722 <td>
3723 <a href="https://github.com/nickpeihl/leaflet-sidebar-v2/">leaflet-sidebar-v2</a>
3724 </td><td>
3725 A responsive, tabbed sidebar with HTML & JS API.
3726 Compatible with old (0.7) and current leaflet.
3727 </td><td>
3728 <a href="https://github.com/noerw/">Norwin Roosen</a>
3729 </td>
3730 </tr>
3731 <tr>
3732 <td>
36053733 <a href="https://github.com/turbo87/leaflet-sidebar/">leaflet-sidebar</a>
36063734 </td><td>
36073735 A responsive sidebar plugin.
37953923 Control to resize your map on the right or bottom side. See <a href="https://jjimenezshaw.github.io/Leaflet.Control.Resizer/examples/basic.html">demo</a>
37963924 </td><td>
37973925 <a href="https://github.com/jjimenezshaw/">Javier Jimenez Shaw</a>
3926 </td>
3927 </tr>
3928 <tr>
3929 <td>
3930 <a href="https://github.com/publiclab/leaflet-blurred-location-display">leaflet-blurred-location-display
3931 </a>
3932 </td>
3933 <td>
3934 Cleverly dispays "blurred" locations using color-coded heatmap and color-coded markers while fetching data from remote API <a href="https://publiclab.github.io/leaflet-blurred-location-display/examples/HumanReadableBlurring.html">Demo</a>.
3935 </td>
3936 <td>
3937 <a href="https://github.com/publiclab">Public Lab</a>
37983938 </td>
37993939 </tr>
38003940 </table>
41904330 </tr>
41914331 <tr>
41924332 <td>
4193 <a href="https://github.com/mapzen/leaflet-geocoder">Mapzen Search Leaflet Geocoder</a>
4194 </td>
4195 <td>
4196 A geocoding control using <a href="https://mapzen.com/projects/search">Mapzen Search</a> or any hosted service powered by the <a href="https://github.com/pelias/api">Pelias Geocoder API</a>. <a href="https://mapzen.github.io/leaflet-geocoder/">Demo</a>
4333 <a href="https://github.com/pelias/leaflet-plugin">Pelias Leaflet Plugin</a>
4334 </td>
4335 <td>
4336 A geocoding control using <a href="https://geocode.earth">Geocode Earth</a> or any hosted service powered by the <a href="https://github.com/pelias/api">Pelias Geocoder API</a>. <a href="https://pelias.github.io/leaflet-plugin/">Demo</a>
41974337 </td>
41984338 <td>
41994339 <a href="https://github.com/louh">Lou Huang</a>
45574697 Easy to use, WordPress Map plugin based on Open Street Map and Leaflet with custom markers images, descriptions and links.
45584698 </td><td>
45594699 <a href="http://phpwebdev.in/">Chandni Patel</a>
4700 </td>
4701 </tr>
4702 <tr>
4703 <td>
4704 <a href="https://wordpress.org/plugins/map-block-leaflet/">Map Block Leaflet</a>
4705 </td><td>
4706 A Block for the New WordPress Block Editor based on Leaflet, it allow add and custom maps from a visual interface.
4707 </td><td>
4708 <a href="https://goiblas.com/">Jesús Olazagoitia</a>
45604709 </td>
45614710 </tr>
45624711 <tr>
46004749 <td>
46014750 <a href="https://github.com/mwasil/Leaflet.Facebook/">Leaflet.Facebook</a>
46024751 </td><td>
4603 Simple plugin for adding Facebook like button as a control.
4752 Simple plugin for adding Facebook like button as a control.
46044753 </td><td>
46054754 <a href="https://marcinwasilewski.eu/u">Marcin Wasilewski</a>
46064755 </td>
2270622706 <h2 id='version'>version</h2><p>A constant that represents the Leaflet version in use.</p>
2270722707 <pre><code class="lang-js">L.version; // contains &quot;1.0.0&quot; (or whatever version is currently in use)
2270822708 </code></pre>
22709
22710
22711
22712
22713 <div class="footer">
22714 <p>© 2016 <a href="http://agafonkin.com/en">Vladimir Agafonkin</a>. Maps © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.</p>
22715 </div>
22716
22717 </div>
22718
22719 <script src="https://leafletjs.com/docs/js/docs.js"></script>
22720 <script>
22721 hljs.configure({tabReplace: ' '});
22722 hljs.initHighlightingOnLoad();
22723
22724 var elems = document.querySelectorAll('h2, h3, h4, tr');
22725
22726 for (var i = 0, len = elems.length; i < len; i++) {
22727 var el = elems[i];
22728
22729 if (el.id) {
22730 var anchor = document.createElement('a');
22731 anchor.setAttribute('anchor', el.id);
22732 if (!el.children.length) {
22733 // For headers, insert the anchor before.
22734 el.parentNode.insertBefore(anchor, el);
22735 } else {
22736 // For table rows, insert the anchor inside the first <td>
22737 el.querySelector('td').appendChild(anchor);
22738
22739 // Clicking on the row (meaning "the link icon on the ::before)
22740 // jumps to the item
22741 el.parentNode.onclick = function(hash){
22742 return function(ev) {
22743 if (ev.offsetX < 0) {
22744 window.location.hash = '#' + ev.target.parentNode.id;
22745 }
22746 };
22747 }(el.id);
22748 }
22749 }
22750 }
22751
22752 elems = document.querySelectorAll('div.accordion');
22753 for (var i = 0, len = elems.length; i < len; i++) {
22754 var el = elems[i];
22755
22756 el.querySelector('label').addEventListener('click', function(c){
22757 return function() {
22758 if (c.className === 'accordion expanded') {
22759 c.className = 'accordion collapsed';
22760 } else {
22761 c.className = 'accordion expanded';
22762 }
22763 };
22764 }(el));
22765
22766 // el.className = 'accordion collapsed';
22767 // el.querySelector('.accordion-content').style.display = 'none';
22768 }
22769
22770 </script>
22771 <style>
22772
22773 h2 {
22774 margin-top: 2em;
22775 }
22776
22777 h3 {
22778 margin-top: 1em;
22779 margin-bottom: .5em;
22780 }
22781
22782 div.accordion {
22783 width: 100%;
22784 /* overflow: hidden; */
22785 }
22786
22787 div.accordion-overflow {
22788 width: 100%;
22789 overflow: hidden;
22790 }
22791
22792 label,
22793 section > h4 {
22794 display: block;
22795 font-weight: 500;
22796 margin: 1em 0 0.25em;
22797 }
22798
22799 label {
22800 cursor: pointer;
22801 }
22802
22803 div.accordion > div.accordion-overflow > div.accordion-content {
22804 max-height: 0;
22805 display: none;
22806 }
22807
22808 div.accordion.collapsed > div.accordion-overflow > div.accordion-content {
22809 animation-duration: 0.4s;
22810 animation-name: collapse;
22811 /* height: 0; */
22812 max-height: 0;
22813 display: block;
22814 overflow: hidden;
22815 }
22816
22817 div.accordion.expanded > div.accordion-overflow > div.accordion-content {
22818 animation-duration: 0.4s;
22819 animation-name: expand;
22820 /* height: auto; */
22821 max-height: none;
22822 display: block;
22823 }
22824
22825 @keyframes collapse {
22826 0% { max-height: 100vh; }
22827 100% { max-height: 0; }
22828 }
22829
22830 @keyframes expand {
22831 0% { max-height: 0; }
22832 100% { max-height: 100vh; }
22833 }
22834
22835 /* div.accordion > div.accordion-content {
22836 transition: max-height 0.4s ease-out 0s;
22837 }*/
22838
22839 div.accordion.expanded > label > span.expander {
22840 transform: rotate(90deg);
22841 }
22842
22843 div.accordion > label > span.expander {
22844 transition: transform 0.4s ease-out 0s;
22845 display: inline-block;
22846 font-size: 12px;
22847 }
22848
22849
22850 table {
22851 margin-bottom: 0;
22852 }
22853
22854 /* Markdown renders some spurious <p>s inside the table cells */
22855 td > p {
22856 margin:0;
22857 }
22858
22859 /* This just looks bad (with the current grey headers for sections which Vlad doesn't really like, so might have to change this) */
22860 section.collapsable > div.section-comments > p {
22861 margin:0;
22862 }
22863
22864 div.section-comments {
22865 margin-bottom: 0.25em;
22866 }
22867
22868 /* section.collapsable div.section-comments {
22869 margin: 1em;
22870 font-size: 12px;
22871 }*/
22872
22873 section.collapsable pre {
22874 margin:0;
22875 }
22876
22877 section {
22878 margin-left: 0.5em;
22879 }
22880
22881 section h4, section.collapsable h4 {
22882 margin-left: -0.5em;
22883 }
22884
22885
22886
22887 </style>
22888 </body></html>
2319823198 <h2 id='version'>version</h2><p>A constant that represents the Leaflet version in use.</p>
2319923199 <pre><code class="lang-js">L.version; // contains &quot;1.0.0&quot; (or whatever version is currently in use)
2320023200 </code></pre>
23201
23202
23203
23204
23205
23206 <div class="footer">
23207 <p>© 2015 <a href="http://agafonkin.com/en">Vladimir Agafonkin</a>. Maps © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.</p>
23208 </div>
23209
23210 </div>
23211
23212 <script src="https://leafletjs.com/docs/js/docs.js"></script>
23213 <script>
23214 hljs.configure({tabReplace: ' '});
23215 hljs.initHighlightingOnLoad();
23216
23217 var elems = document.querySelectorAll('h2, h3, h4, tr');
23218
23219 for (var i = 0, len = elems.length; i < len; i++) {
23220 var el = elems[i];
23221
23222 if (el.id) {
23223 var anchor = document.createElement('a');
23224 anchor.setAttribute('anchor', el.id);
23225 if (!el.children.length) {
23226 // For headers, insert the anchor before.
23227 el.parentNode.insertBefore(anchor, el);
23228 } else {
23229 // For table rows, insert the anchor inside the first <td>
23230 el.querySelector('td').appendChild(anchor);
23231
23232 // Clicking on the row (meaning "the link icon on the ::before)
23233 // jumps to the item
23234 el.parentNode.onclick = function(hash){
23235 return function(ev) {
23236 if (ev.offsetX < 0) {
23237 window.location.hash = '#' + ev.target.parentNode.id;
23238 }
23239 };
23240 }(el.id);
23241 }
23242 }
23243 }
23244
23245 elems = document.querySelectorAll('div.accordion');
23246 for (var i = 0, len = elems.length; i < len; i++) {
23247 var el = elems[i];
23248
23249 el.querySelector('label').addEventListener('click', function(c){
23250 return function() {
23251 if (c.className === 'accordion expanded') {
23252 c.className = 'accordion collapsed';
23253 } else {
23254 c.className = 'accordion expanded';
23255 }
23256 };
23257 }(el));
23258
23259 // el.className = 'accordion collapsed';
23260 // el.querySelector('.accordion-content').style.display = 'none';
23261 }
23262
23263 </script>
23264 <style>
23265
23266 h2 {
23267 margin-top: 2em;
23268 }
23269
23270 h3 {
23271 margin-top: 1em;
23272 margin-bottom: .5em;
23273 }
23274
23275 div.accordion {
23276 width: 100%;
23277 /* overflow: hidden; */
23278 }
23279
23280 div.accordion-overflow {
23281 width: 100%;
23282 overflow: hidden;
23283 }
23284
23285 label,
23286 section > h4 {
23287 display: block;
23288 font-weight: 500;
23289 margin: 1em 0 0.25em;
23290 }
23291
23292 label {
23293 cursor: pointer;
23294 }
23295
23296 div.accordion > div.accordion-overflow > div.accordion-content {
23297 max-height: 0;
23298 display: none;
23299 }
23300
23301 div.accordion.collapsed > div.accordion-overflow > div.accordion-content {
23302 animation-duration: 0.4s;
23303 animation-name: collapse;
23304 /* height: 0; */
23305 max-height: 0;
23306 display: block;
23307 overflow: hidden;
23308 }
23309
23310 div.accordion.expanded > div.accordion-overflow > div.accordion-content {
23311 animation-duration: 0.4s;
23312 animation-name: expand;
23313 /* height: auto; */
23314 max-height: none;
23315 display: block;
23316 }
23317
23318 @keyframes collapse {
23319 0% { max-height: 100vh; }
23320 100% { max-height: 0; }
23321 }
23322
23323 @keyframes expand {
23324 0% { max-height: 0; }
23325 100% { max-height: 100vh; }
23326 }
23327
23328 /* div.accordion > div.accordion-content {
23329 transition: max-height 0.4s ease-out 0s;
23330 }*/
23331
23332 div.accordion.expanded > label > span.expander {
23333 transform: rotate(90deg);
23334 }
23335
23336 div.accordion > label > span.expander {
23337 transition: transform 0.4s ease-out 0s;
23338 display: inline-block;
23339 font-size: 12px;
23340 }
23341
23342
23343 table {
23344 margin-bottom: 0;
23345 }
23346
23347 /* Markdown renders some spurious <p>s inside the table cells */
23348 td > p {
23349 margin:0;
23350 }
23351
23352 /* This just looks bad (with the current grey headers for sections which Vlad doesn't really like, so might have to change this) */
23353 section.collapsable > div.section-comments > p {
23354 margin:0;
23355 }
23356
23357 div.section-comments {
23358 margin-bottom: 0.25em;
23359 }
23360
23361 /* section.collapsable div.section-comments {
23362 margin: 1em;
23363 font-size: 12px;
23364 }*/
23365
23366 section.collapsable pre {
23367 margin:0;
23368 }
23369
23370 section {
23371 margin-left: 0.5em;
23372 }
23373
23374 section h4, section.collapsable h4 {
23375 margin-left: -0.5em;
23376 }
23377
23378
23379
23380 </style>
23381 </body></html>
2331223312 <h2 id='version'>version</h2><p>A constant that represents the Leaflet version in use.</p>
2331323313 <pre><code class="lang-js">L.version; // contains &quot;1.0.0&quot; (or whatever version is currently in use)
2331423314 </code></pre>
23315
23316
23317
23318
23319
23320 <div class="footer">
23321 <p>© 2015 <a href="http://agafonkin.com/en">Vladimir Agafonkin</a>. Maps © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.</p>
23322 </div>
23323
23324 </div>
23325
23326 <script src="https://leafletjs.com/docs/js/docs.js"></script>
23327 <script>
23328 hljs.configure({tabReplace: ' '});
23329 hljs.initHighlightingOnLoad();
23330
23331 var elems = document.querySelectorAll('h2, h3, h4, tr');
23332
23333 for (var i = 0, len = elems.length; i < len; i++) {
23334 var el = elems[i];
23335
23336 if (el.id) {
23337 var anchor = document.createElement('a');
23338 anchor.setAttribute('anchor', el.id);
23339 if (!el.children.length) {
23340 // For headers, insert the anchor before.
23341 el.parentNode.insertBefore(anchor, el);
23342 } else {
23343 // For table rows, insert the anchor inside the first <td>
23344 el.querySelector('td').appendChild(anchor);
23345
23346 // Clicking on the row (meaning "the link icon on the ::before)
23347 // jumps to the item
23348 el.parentNode.onclick = function(hash){
23349 return function(ev) {
23350 if (ev.offsetX < 0) {
23351 window.location.hash = '#' + ev.target.parentNode.id;
23352 }
23353 };
23354 }(el.id);
23355 }
23356 }
23357 }
23358
23359 elems = document.querySelectorAll('div.accordion');
23360 for (var i = 0, len = elems.length; i < len; i++) {
23361 var el = elems[i];
23362
23363 el.querySelector('label').addEventListener('click', function(c){
23364 return function() {
23365 if (c.className === 'accordion expanded') {
23366 c.className = 'accordion collapsed';
23367 } else {
23368 c.className = 'accordion expanded';
23369 }
23370 };
23371 }(el));
23372
23373 // el.className = 'accordion collapsed';
23374 // el.querySelector('.accordion-content').style.display = 'none';
23375 }
23376
23377 </script>
23378 <style>
23379
23380 h2 {
23381 margin-top: 2em;
23382 }
23383
23384 h3 {
23385 margin-top: 1em;
23386 margin-bottom: .5em;
23387 }
23388
23389 div.accordion {
23390 width: 100%;
23391 /* overflow: hidden; */
23392 }
23393
23394 div.accordion-overflow {
23395 width: 100%;
23396 overflow: hidden;
23397 }
23398
23399 label,
23400 section > h4 {
23401 display: block;
23402 font-weight: 500;
23403 margin: 1em 0 0.25em;
23404 }
23405
23406 label {
23407 cursor: pointer;
23408 }
23409
23410 div.accordion > div.accordion-overflow > div.accordion-content {
23411 max-height: 0;
23412 display: none;
23413 }
23414
23415 div.accordion.collapsed > div.accordion-overflow > div.accordion-content {
23416 animation-duration: 0.4s;
23417 animation-name: collapse;
23418 /* height: 0; */
23419 max-height: 0;
23420 display: block;
23421 overflow: hidden;
23422 }
23423
23424 div.accordion.expanded > div.accordion-overflow > div.accordion-content {
23425 animation-duration: 0.4s;
23426 animation-name: expand;
23427 /* height: auto; */
23428 max-height: none;
23429 display: block;
23430 }
23431
23432 @keyframes collapse {
23433 0% { max-height: 100vh; }
23434 100% { max-height: 0; }
23435 }
23436
23437 @keyframes expand {
23438 0% { max-height: 0; }
23439 100% { max-height: 100vh; }
23440 }
23441
23442 /* div.accordion > div.accordion-content {
23443 transition: max-height 0.4s ease-out 0s;
23444 }*/
23445
23446 div.accordion.expanded > label > span.expander {
23447 transform: rotate(90deg);
23448 }
23449
23450 div.accordion > label > span.expander {
23451 transition: transform 0.4s ease-out 0s;
23452 display: inline-block;
23453 font-size: 12px;
23454 }
23455
23456
23457 table {
23458 margin-bottom: 0;
23459 }
23460
23461 /* Markdown renders some spurious <p>s inside the table cells */
23462 td > p {
23463 margin:0;
23464 }
23465
23466 /* This just looks bad (with the current grey headers for sections which Vlad doesn't really like, so might have to change this) */
23467 section.collapsable > div.section-comments > p {
23468 margin:0;
23469 }
23470
23471 div.section-comments {
23472 margin-bottom: 0.25em;
23473 }
23474
23475 /* section.collapsable div.section-comments {
23476 margin: 1em;
23477 font-size: 12px;
23478 }*/
23479
23480 section.collapsable pre {
23481 margin:0;
23482 }
23483
23484 section {
23485 margin-left: 0.5em;
23486 }
23487
23488 section h4, section.collapsable h4 {
23489 margin-left: -0.5em;
23490 }
23491
23492
23493
23494 </style>
23495 </body></html>
2345323453 <h2 id='version'>version</h2><p>A constant that represents the Leaflet version in use.</p>
2345423454 <pre><code class="lang-js">L.version; // contains &quot;1.0.0&quot; (or whatever version is currently in use)
2345523455 </code></pre>
23456
23457
23458
23459
23460
23461 <div class="footer">
23462 <p>© 2017 <a href="http://agafonkin.com/en">Vladimir Agafonkin</a>. Maps © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.</p>
23463 </div>
23464
23465 </div>
23466
23467 <script src="https://leafletjs.com/docs/js/docs.js"></script>
23468 <script>
23469 hljs.configure({tabReplace: ' '});
23470 hljs.initHighlightingOnLoad();
23471
23472 var elems = document.querySelectorAll('h2, h3, h4, tr');
23473
23474 for (var i = 0, len = elems.length; i < len; i++) {
23475 var el = elems[i];
23476
23477 if (el.id) {
23478 var anchor = document.createElement('a');
23479 anchor.setAttribute('anchor', el.id);
23480 if (!el.children.length) {
23481 // For headers, insert the anchor before.
23482 el.parentNode.insertBefore(anchor, el);
23483 } else {
23484 // For table rows, insert the anchor inside the first <td>
23485 el.querySelector('td').appendChild(anchor);
23486
23487 // Clicking on the row (meaning "the link icon on the ::before)
23488 // jumps to the item
23489 el.parentNode.onclick = function(hash){
23490 return function(ev) {
23491 if (ev.offsetX < 0) {
23492 window.location.hash = '#' + ev.target.parentNode.id;
23493 }
23494 };
23495 }(el.id);
23496 }
23497 }
23498 }
23499
23500 elems = document.querySelectorAll('div.accordion');
23501 for (var i = 0, len = elems.length; i < len; i++) {
23502 var el = elems[i];
23503
23504 el.querySelector('label').addEventListener('click', function(c){
23505 return function() {
23506 if (c.className === 'accordion expanded') {
23507 c.className = 'accordion collapsed';
23508 } else {
23509 c.className = 'accordion expanded';
23510 }
23511 };
23512 }(el));
23513
23514 // el.className = 'accordion collapsed';
23515 // el.querySelector('.accordion-content').style.display = 'none';
23516 }
23517
23518 </script>
23519 <style>
23520
23521 h2 {
23522 margin-top: 2em;
23523 }
23524
23525 h3 {
23526 margin-top: 1em;
23527 margin-bottom: .5em;
23528 }
23529
23530 div.accordion {
23531 width: 100%;
23532 /* overflow: hidden; */
23533 }
23534
23535 div.accordion-overflow {
23536 width: 100%;
23537 overflow: hidden;
23538 }
23539
23540 label,
23541 section > h4 {
23542 display: block;
23543 font-weight: 500;
23544 margin: 1em 0 0.25em;
23545 }
23546
23547 label {
23548 cursor: pointer;
23549 }
23550
23551 div.accordion > div.accordion-overflow > div.accordion-content {
23552 max-height: 0;
23553 display: none;
23554 }
23555
23556 div.accordion.collapsed > div.accordion-overflow > div.accordion-content {
23557 animation-duration: 0.4s;
23558 animation-name: collapse;
23559 /* height: 0; */
23560 max-height: 0;
23561 display: block;
23562 overflow: hidden;
23563 }
23564
23565 div.accordion.expanded > div.accordion-overflow > div.accordion-content {
23566 animation-duration: 0.4s;
23567 animation-name: expand;
23568 /* height: auto; */
23569 max-height: none;
23570 display: block;
23571 }
23572
23573 @keyframes collapse {
23574 0% { max-height: 100vh; }
23575 100% { max-height: 0; }
23576 }
23577
23578 @keyframes expand {
23579 0% { max-height: 0; }
23580 100% { max-height: 100vh; }
23581 }
23582
23583 /* div.accordion > div.accordion-content {
23584 transition: max-height 0.4s ease-out 0s;
23585 }*/
23586
23587 div.accordion.expanded > label > span.expander {
23588 transform: rotate(90deg);
23589 }
23590
23591 div.accordion > label > span.expander {
23592 transition: transform 0.4s ease-out 0s;
23593 display: inline-block;
23594 font-size: 12px;
23595 }
23596
23597
23598 table {
23599 margin-bottom: 0;
23600 }
23601
23602 /* Markdown renders some spurious <p>s inside the table cells */
23603 td > p {
23604 margin:0;
23605 }
23606
23607 /* This just looks bad (with the current grey headers for sections which Vlad doesn't really like, so might have to change this) */
23608 section.collapsable > div.section-comments > p {
23609 margin:0;
23610 }
23611
23612 div.section-comments {
23613 margin-bottom: 0.25em;
23614 }
23615
23616 /* section.collapsable div.section-comments {
23617 margin: 1em;
23618 font-size: 12px;
23619 }*/
23620
23621 section.collapsable pre {
23622 margin:0;
23623 }
23624
23625 section {
23626 margin-left: 0.5em;
23627 }
23628
23629 section h4, section.collapsable h4 {
23630 margin-left: -0.5em;
23631 }
23632
23633
23634
23635 </style>
23636 </body></html>
2346823468 <h2 id='version'>version</h2><p>A constant that represents the Leaflet version in use.</p>
2346923469 <pre><code class="lang-js">L.version; // contains &quot;1.0.0&quot; (or whatever version is currently in use)
2347023470 </code></pre>
23471
23472
23473
23474
23475
23476 <div class="footer">
23477 <p>© 2017 <a href="http://agafonkin.com/en">Vladimir Agafonkin</a>. Maps © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.</p>
23478 </div>
23479
23480 </div>
23481
23482 <script src="https://leafletjs.com/docs/js/docs.js"></script>
23483 <script>
23484 hljs.configure({tabReplace: ' '});
23485 hljs.initHighlightingOnLoad();
23486
23487 var elems = document.querySelectorAll('h2, h3, h4, tr');
23488
23489 for (var i = 0, len = elems.length; i < len; i++) {
23490 var el = elems[i];
23491
23492 if (el.id) {
23493 var anchor = document.createElement('a');
23494 anchor.setAttribute('anchor', el.id);
23495 if (!el.children.length) {
23496 // For headers, insert the anchor before.
23497 el.parentNode.insertBefore(anchor, el);
23498 } else {
23499 // For table rows, insert the anchor inside the first <td>
23500 el.querySelector('td').appendChild(anchor);
23501
23502 // Clicking on the row (meaning "the link icon on the ::before)
23503 // jumps to the item
23504 el.parentNode.onclick = function(hash){
23505 return function(ev) {
23506 if (ev.offsetX < 0) {
23507 window.location.hash = '#' + ev.target.parentNode.id;
23508 }
23509 };
23510 }(el.id);
23511 }
23512 }
23513 }
23514
23515 elems = document.querySelectorAll('div.accordion');
23516 for (var i = 0, len = elems.length; i < len; i++) {
23517 var el = elems[i];
23518
23519 el.querySelector('label').addEventListener('click', function(c){
23520 return function() {
23521 if (c.className === 'accordion expanded') {
23522 c.className = 'accordion collapsed';
23523 } else {
23524 c.className = 'accordion expanded';
23525 }
23526 };
23527 }(el));
23528
23529 // el.className = 'accordion collapsed';
23530 // el.querySelector('.accordion-content').style.display = 'none';
23531 }
23532
23533 </script>
23534 <style>
23535
23536 h2 {
23537 margin-top: 2em;
23538 }
23539
23540 h3 {
23541 margin-top: 1em;
23542 margin-bottom: .5em;
23543 }
23544
23545 div.accordion {
23546 width: 100%;
23547 /* overflow: hidden; */
23548 }
23549
23550 div.accordion-overflow {
23551 width: 100%;
23552 overflow: hidden;
23553 }
23554
23555 label,
23556 section > h4 {
23557 display: block;
23558 font-weight: 500;
23559 margin: 1em 0 0.25em;
23560 }
23561
23562 label {
23563 cursor: pointer;
23564 }
23565
23566 div.accordion > div.accordion-overflow > div.accordion-content {
23567 max-height: 0;
23568 display: none;
23569 }
23570
23571 div.accordion.collapsed > div.accordion-overflow > div.accordion-content {
23572 animation-duration: 0.4s;
23573 animation-name: collapse;
23574 /* height: 0; */
23575 max-height: 0;
23576 display: block;
23577 overflow: hidden;
23578 }
23579
23580 div.accordion.expanded > div.accordion-overflow > div.accordion-content {
23581 animation-duration: 0.4s;
23582 animation-name: expand;
23583 /* height: auto; */
23584 max-height: none;
23585 display: block;
23586 }
23587
23588 @keyframes collapse {
23589 0% { max-height: 100vh; }
23590 100% { max-height: 0; }
23591 }
23592
23593 @keyframes expand {
23594 0% { max-height: 0; }
23595 100% { max-height: 100vh; }
23596 }
23597
23598 /* div.accordion > div.accordion-content {
23599 transition: max-height 0.4s ease-out 0s;
23600 }*/
23601
23602 div.accordion.expanded > label > span.expander {
23603 transform: rotate(90deg);
23604 }
23605
23606 div.accordion > label > span.expander {
23607 transition: transform 0.4s ease-out 0s;
23608 display: inline-block;
23609 font-size: 12px;
23610 }
23611
23612
23613 table {
23614 margin-bottom: 0;
23615 }
23616
23617 /* Markdown renders some spurious <p>s inside the table cells */
23618 td > p {
23619 margin:0;
23620 }
23621
23622 /* This just looks bad (with the current grey headers for sections which Vlad doesn't really like, so might have to change this) */
23623 section.collapsable > div.section-comments > p {
23624 margin:0;
23625 }
23626
23627 div.section-comments {
23628 margin-bottom: 0.25em;
23629 }
23630
23631 /* section.collapsable div.section-comments {
23632 margin: 1em;
23633 font-size: 12px;
23634 }*/
23635
23636 section.collapsable pre {
23637 margin:0;
23638 }
23639
23640 section {
23641 margin-left: 0.5em;
23642 }
23643
23644 section h4, section.collapsable h4 {
23645 margin-left: -0.5em;
23646 }
23647
23648
23649
23650 </style>
23651 </body></html>
2390123901 <h2 id='version'>version</h2><p>A constant that represents the Leaflet version in use.</p>
2390223902 <pre><code class="lang-js">L.version; // contains &quot;1.0.0&quot; (or whatever version is currently in use)
2390323903 </code></pre>
23904
23905
23906
23907
23908
23909 <div class="footer">
23910 <p>© 2017 <a href="http://agafonkin.com/en">Vladimir Agafonkin</a>. Maps © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.</p>
23911 </div>
23912
23913 </div>
23914
23915 <script src="https://leafletjs.com/docs/js/docs.js"></script>
23916 <script>
23917 hljs.configure({tabReplace: ' '});
23918 hljs.initHighlightingOnLoad();
23919
23920 var elems = document.querySelectorAll('h2, h3, h4, tr');
23921
23922 for (var i = 0, len = elems.length; i < len; i++) {
23923 var el = elems[i];
23924
23925 if (el.id) {
23926 var anchor = document.createElement('a');
23927 anchor.setAttribute('anchor', el.id);
23928 if (!el.children.length) {
23929 // For headers, insert the anchor before.
23930 el.parentNode.insertBefore(anchor, el);
23931 } else {
23932 // For table rows, insert the anchor inside the first <td>
23933 el.querySelector('td').appendChild(anchor);
23934
23935 // Clicking on the row (meaning "the link icon on the ::before)
23936 // jumps to the item
23937 el.parentNode.onclick = function(hash){
23938 return function(ev) {
23939 if (ev.offsetX < 0) {
23940 window.location.hash = '#' + ev.target.parentNode.id;
23941 }
23942 };
23943 }(el.id);
23944 }
23945 }
23946 }
23947
23948 elems = document.querySelectorAll('div.accordion');
23949 for (var i = 0, len = elems.length; i < len; i++) {
23950 var el = elems[i];
23951
23952 el.querySelector('label').addEventListener('click', function(c){
23953 return function() {
23954 if (c.className === 'accordion expanded') {
23955 c.className = 'accordion collapsed';
23956 } else {
23957 c.className = 'accordion expanded';
23958 }
23959 };
23960 }(el));
23961
23962 // el.className = 'accordion collapsed';
23963 // el.querySelector('.accordion-content').style.display = 'none';
23964 }
23965
23966 </script>
23967 <style>
23968
23969 h2 {
23970 margin-top: 2em;
23971 }
23972
23973 h3 {
23974 margin-top: 1em;
23975 margin-bottom: .5em;
23976 }
23977
23978 div.accordion {
23979 width: 100%;
23980 /* overflow: hidden; */
23981 }
23982
23983 div.accordion-overflow {
23984 width: 100%;
23985 overflow: hidden;
23986 }
23987
23988 label,
23989 section > h4 {
23990 display: block;
23991 font-weight: 500;
23992 margin: 1em 0 0.25em;
23993 }
23994
23995 label {
23996 cursor: pointer;
23997 }
23998
23999 div.accordion > div.accordion-overflow > div.accordion-content {
24000 max-height: 0;
24001 display: none;
24002 }
24003
24004 div.accordion.collapsed > div.accordion-overflow > div.accordion-content {
24005 animation-duration: 0.4s;
24006 animation-name: collapse;
24007 /* height: 0; */
24008 max-height: 0;
24009 display: block;
24010 overflow: hidden;
24011 }
24012
24013 div.accordion.expanded > div.accordion-overflow > div.accordion-content {
24014 animation-duration: 0.4s;
24015 animation-name: expand;
24016 /* height: auto; */
24017 max-height: none;
24018 display: block;
24019 }
24020
24021 @keyframes collapse {
24022 0% { max-height: 100vh; }
24023 100% { max-height: 0; }
24024 }
24025
24026 @keyframes expand {
24027 0% { max-height: 0; }
24028 100% { max-height: 100vh; }
24029 }
24030
24031 /* div.accordion > div.accordion-content {
24032 transition: max-height 0.4s ease-out 0s;
24033 }*/
24034
24035 div.accordion.expanded > label > span.expander {
24036 transform: rotate(90deg);
24037 }
24038
24039 div.accordion > label > span.expander {
24040 transition: transform 0.4s ease-out 0s;
24041 display: inline-block;
24042 font-size: 12px;
24043 }
24044
24045
24046 table {
24047 margin-bottom: 0;
24048 }
24049
24050 /* Markdown renders some spurious <p>s inside the table cells */
24051 td > p {
24052 margin:0;
24053 }
24054
24055 /* This just looks bad (with the current grey headers for sections which Vlad doesn't really like, so might have to change this) */
24056 section.collapsable > div.section-comments > p {
24057 margin:0;
24058 }
24059
24060 div.section-comments {
24061 margin-bottom: 0.25em;
24062 }
24063
24064 /* section.collapsable div.section-comments {
24065 margin: 1em;
24066 font-size: 12px;
24067 }*/
24068
24069 section.collapsable pre {
24070 margin:0;
24071 }
24072
24073 section {
24074 margin-left: 0.5em;
24075 }
24076
24077 section h4, section.collapsable h4 {
24078 margin-left: -0.5em;
24079 }
24080
24081
24082
24083 </style>
24084 </body></html>
2392123921 <h2 id='version'>version</h2><p>A constant that represents the Leaflet version in use.</p>
2392223922 <pre><code class="lang-js">L.version; // contains &quot;1.0.0&quot; (or whatever version is currently in use)
2392323923 </code></pre>
23924
23925
23926
23927
23928
23929 <div class="footer">
23930 <p>© 2017 <a href="http://agafonkin.com/en">Vladimir Agafonkin</a>. Maps © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.</p>
23931 </div>
23932
23933 </div>
23934
23935 <script src="http://leafletjs.com/docs/js/docs.js"></script>
23936 <script>
23937 hljs.configure({tabReplace: ' '});
23938 hljs.initHighlightingOnLoad();
23939
23940 var elems = document.querySelectorAll('h2, h3, h4, tr');
23941
23942 for (var i = 0, len = elems.length; i < len; i++) {
23943 var el = elems[i];
23944
23945 if (el.id) {
23946 var anchor = document.createElement('a');
23947 anchor.setAttribute('anchor', el.id);
23948 if (!el.children.length) {
23949 // For headers, insert the anchor before.
23950 el.parentNode.insertBefore(anchor, el);
23951 } else {
23952 // For table rows, insert the anchor inside the first <td>
23953 el.querySelector('td').appendChild(anchor);
23954
23955 // Clicking on the row (meaning "the link icon on the ::before)
23956 // jumps to the item
23957 el.parentNode.onclick = function(hash){
23958 return function(ev) {
23959 if (ev.offsetX < 0) {
23960 window.location.hash = '#' + ev.target.parentNode.id;
23961 }
23962 };
23963 }(el.id);
23964 }
23965 }
23966 }
23967
23968 elems = document.querySelectorAll('div.accordion');
23969 for (var i = 0, len = elems.length; i < len; i++) {
23970 var el = elems[i];
23971
23972 el.querySelector('label').addEventListener('click', function(c){
23973 return function() {
23974 if (c.className === 'accordion expanded') {
23975 c.className = 'accordion collapsed';
23976 } else {
23977 c.className = 'accordion expanded';
23978 }
23979 };
23980 }(el));
23981
23982 // el.className = 'accordion collapsed';
23983 // el.querySelector('.accordion-content').style.display = 'none';
23984 }
23985
23986 </script>
23987 <style>
23988
23989 h2 {
23990 margin-top: 2em;
23991 }
23992
23993 h3 {
23994 margin-top: 1em;
23995 margin-bottom: .5em;
23996 }
23997
23998 div.accordion {
23999 width: 100%;
24000 /* overflow: hidden; */
24001 }
24002
24003 div.accordion-overflow {
24004 width: 100%;
24005 overflow: hidden;
24006 }
24007
24008 label,
24009 section > h4 {
24010 display: block;
24011 font-weight: 500;
24012 margin: 1em 0 0.25em;
24013 }
24014
24015 label {
24016 cursor: pointer;
24017 }
24018
24019 div.accordion > div.accordion-overflow > div.accordion-content {
24020 max-height: 0;
24021 display: none;
24022 }
24023
24024 div.accordion.collapsed > div.accordion-overflow > div.accordion-content {
24025 animation-duration: 0.4s;
24026 animation-name: collapse;
24027 /* height: 0; */
24028 max-height: 0;
24029 display: block;
24030 overflow: hidden;
24031 }
24032
24033 div.accordion.expanded > div.accordion-overflow > div.accordion-content {
24034 animation-duration: 0.4s;
24035 animation-name: expand;
24036 /* height: auto; */
24037 max-height: none;
24038 display: block;
24039 }
24040
24041 @keyframes collapse {
24042 0% { max-height: 100vh; }
24043 100% { max-height: 0; }
24044 }
24045
24046 @keyframes expand {
24047 0% { max-height: 0; }
24048 100% { max-height: 100vh; }
24049 }
24050
24051 /* div.accordion > div.accordion-content {
24052 transition: max-height 0.4s ease-out 0s;
24053 }*/
24054
24055 div.accordion.expanded > label > span.expander {
24056 transform: rotate(90deg);
24057 }
24058
24059 div.accordion > label > span.expander {
24060 transition: transform 0.4s ease-out 0s;
24061 display: inline-block;
24062 font-size: 12px;
24063 }
24064
24065
24066 table {
24067 margin-bottom: 0;
24068 }
24069
24070 /* Markdown renders some spurious <p>s inside the table cells */
24071 td > p {
24072 margin:0;
24073 }
24074
24075 /* This just looks bad (with the current grey headers for sections which Vlad doesn't really like, so might have to change this) */
24076 section.collapsable > div.section-comments > p {
24077 margin:0;
24078 }
24079
24080 div.section-comments {
24081 margin-bottom: 0.25em;
24082 }
24083
24084 /* section.collapsable div.section-comments {
24085 margin: 1em;
24086 font-size: 12px;
24087 }*/
24088
24089 section.collapsable pre {
24090 margin:0;
24091 }
24092
24093 section {
24094 margin-left: 0.5em;
24095 }
24096
24097 section h4, section.collapsable h4 {
24098 margin-left: -0.5em;
24099 }
24100
24101
24102
24103 </style>
24104 </body></html>
2396723967 <h2 id='version'>version</h2><p>A constant that represents the Leaflet version in use.</p>
2396823968 <pre><code class="lang-js">L.version; // contains &quot;1.0.0&quot; (or whatever version is currently in use)
2396923969 </code></pre>
23970
23971
23972
23973
23974
23975 <div class="footer">
23976 <p>© 2017 <a href="http://agafonkin.com/en">Vladimir Agafonkin</a>. Maps © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.</p>
23977 </div>
23978
23979 </div>
23980
23981 <script src="http://leafletjs.com/docs/js/docs.js"></script>
23982 <script>
23983 hljs.configure({tabReplace: ' '});
23984 hljs.initHighlightingOnLoad();
23985
23986 var elems = document.querySelectorAll('h2, h3, h4, tr');
23987
23988 for (var i = 0, len = elems.length; i < len; i++) {
23989 var el = elems[i];
23990
23991 if (el.id) {
23992 var anchor = document.createElement('a');
23993 anchor.setAttribute('anchor', el.id);
23994 if (!el.children.length) {
23995 // For headers, insert the anchor before.
23996 el.parentNode.insertBefore(anchor, el);
23997 } else {
23998 // For table rows, insert the anchor inside the first <td>
23999 el.querySelector('td').appendChild(anchor);
24000
24001 // Clicking on the row (meaning "the link icon on the ::before)
24002 // jumps to the item
24003 el.parentNode.onclick = function(hash){
24004 return function(ev) {
24005 if (ev.offsetX < 0) {
24006 window.location.hash = '#' + ev.target.parentNode.id;
24007 }
24008 };
24009 }(el.id);
24010 }
24011 }
24012 }
24013
24014 elems = document.querySelectorAll('div.accordion');
24015 for (var i = 0, len = elems.length; i < len; i++) {
24016 var el = elems[i];
24017
24018 el.querySelector('label').addEventListener('click', function(c){
24019 return function() {
24020 if (c.className === 'accordion expanded') {
24021 c.className = 'accordion collapsed';
24022 } else {
24023 c.className = 'accordion expanded';
24024 }
24025 };
24026 }(el));
24027
24028 // el.className = 'accordion collapsed';
24029 // el.querySelector('.accordion-content').style.display = 'none';
24030 }
24031
24032 </script>
24033 <style>
24034
24035 h2 {
24036 margin-top: 2em;
24037 }
24038
24039 h3 {
24040 margin-top: 1em;
24041 margin-bottom: .5em;
24042 }
24043
24044 div.accordion {
24045 width: 100%;
24046 /* overflow: hidden; */
24047 }
24048
24049 div.accordion-overflow {
24050 width: 100%;
24051 overflow: hidden;
24052 }
24053
24054 label,
24055 section > h4 {
24056 display: block;
24057 font-weight: 500;
24058 margin: 1em 0 0.25em;
24059 }
24060
24061 label {
24062 cursor: pointer;
24063 }
24064
24065 div.accordion > div.accordion-overflow > div.accordion-content {
24066 max-height: 0;
24067 display: none;
24068 }
24069
24070 div.accordion.collapsed > div.accordion-overflow > div.accordion-content {
24071 animation-duration: 0.4s;
24072 animation-name: collapse;
24073 /* height: 0; */
24074 max-height: 0;
24075 display: block;
24076 overflow: hidden;
24077 }
24078
24079 div.accordion.expanded > div.accordion-overflow > div.accordion-content {
24080 animation-duration: 0.4s;
24081 animation-name: expand;
24082 /* height: auto; */
24083 max-height: none;
24084 display: block;
24085 }
24086
24087 @keyframes collapse {
24088 0% { max-height: 100vh; }
24089 100% { max-height: 0; }
24090 }
24091
24092 @keyframes expand {
24093 0% { max-height: 0; }
24094 100% { max-height: 100vh; }
24095 }
24096
24097 /* div.accordion > div.accordion-content {
24098 transition: max-height 0.4s ease-out 0s;
24099 }*/
24100
24101 div.accordion.expanded > label > span.expander {
24102 transform: rotate(90deg);
24103 }
24104
24105 div.accordion > label > span.expander {
24106 transition: transform 0.4s ease-out 0s;
24107 display: inline-block;
24108 font-size: 12px;
24109 }
24110
24111
24112 table {
24113 margin-bottom: 0;
24114 }
24115
24116 /* Markdown renders some spurious <p>s inside the table cells */
24117 td > p {
24118 margin:0;
24119 }
24120
24121 /* This just looks bad (with the current grey headers for sections which Vlad doesn't really like, so might have to change this) */
24122 section.collapsable > div.section-comments > p {
24123 margin:0;
24124 }
24125
24126 div.section-comments {
24127 margin-bottom: 0.25em;
24128 }
24129
24130 /* section.collapsable div.section-comments {
24131 margin: 1em;
24132 font-size: 12px;
24133 }*/
24134
24135 section.collapsable pre {
24136 margin:0;
24137 }
24138
24139 section {
24140 margin-left: 0.5em;
24141 }
24142
24143 section h4, section.collapsable h4 {
24144 margin-left: -0.5em;
24145 }
24146
24147
24148
24149 </style>
24150 </body></html>
2398023980 <h2 id='version'>version</h2><p>A constant that represents the Leaflet version in use.</p>
2398123981 <pre><code class="lang-js">L.version; // contains &quot;1.0.0&quot; (or whatever version is currently in use)
2398223982 </code></pre>
23983
23984
23985
23986
23987
23988 <div class="footer">
23989 <p>© 2017 <a href="http://agafonkin.com/en">Vladimir Agafonkin</a>. Maps © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.</p>
23990 </div>
23991
23992 </div>
23993
23994 <script src="https://leafletjs.com/docs/js/docs.js"></script>
23995 <script>
23996 hljs.configure({tabReplace: ' '});
23997 hljs.initHighlightingOnLoad();
23998
23999 var elems = document.querySelectorAll('h2, h3, h4, tr');
24000
24001 for (var i = 0, len = elems.length; i < len; i++) {
24002 var el = elems[i];
24003
24004 if (el.id) {
24005 var anchor = document.createElement('a');
24006 anchor.setAttribute('anchor', el.id);
24007 if (!el.children.length) {
24008 // For headers, insert the anchor before.
24009 el.parentNode.insertBefore(anchor, el);
24010 } else {
24011 // For table rows, insert the anchor inside the first <td>
24012 el.querySelector('td').appendChild(anchor);
24013
24014 // Clicking on the row (meaning "the link icon on the ::before)
24015 // jumps to the item
24016 el.parentNode.onclick = function(hash){
24017 return function(ev) {
24018 if (ev.offsetX < 0) {
24019 window.location.hash = '#' + ev.target.parentNode.id;
24020 }
24021 };
24022 }(el.id);
24023 }
24024 }
24025 }
24026
24027 elems = document.querySelectorAll('div.accordion');
24028 for (var i = 0, len = elems.length; i < len; i++) {
24029 var el = elems[i];
24030
24031 el.querySelector('label').addEventListener('click', function(c){
24032 return function() {
24033 if (c.className === 'accordion expanded') {
24034 c.className = 'accordion collapsed';
24035 } else {
24036 c.className = 'accordion expanded';
24037 }
24038 };
24039 }(el));
24040
24041 // el.className = 'accordion collapsed';
24042 // el.querySelector('.accordion-content').style.display = 'none';
24043 }
24044
24045 </script>
24046 <style>
24047
24048 h2 {
24049 margin-top: 2em;
24050 }
24051
24052 h3 {
24053 margin-top: 1em;
24054 margin-bottom: .5em;
24055 }
24056
24057 div.accordion {
24058 width: 100%;
24059 /* overflow: hidden; */
24060 }
24061
24062 div.accordion-overflow {
24063 width: 100%;
24064 overflow: hidden;
24065 }
24066
24067 label,
24068 section > h4 {
24069 display: block;
24070 font-weight: 500;
24071 margin: 1em 0 0.25em;
24072 }
24073
24074 label {
24075 cursor: pointer;
24076 }
24077
24078 div.accordion > div.accordion-overflow > div.accordion-content {
24079 max-height: 0;
24080 display: none;
24081 }
24082
24083 div.accordion.collapsed > div.accordion-overflow > div.accordion-content {
24084 animation-duration: 0.4s;
24085 animation-name: collapse;
24086 /* height: 0; */
24087 max-height: 0;
24088 display: block;
24089 overflow: hidden;
24090 }
24091
24092 div.accordion.expanded > div.accordion-overflow > div.accordion-content {
24093 animation-duration: 0.4s;
24094 animation-name: expand;
24095 /* height: auto; */
24096 max-height: none;
24097 display: block;
24098 }
24099
24100 @keyframes collapse {
24101 0% { max-height: 100vh; }
24102 100% { max-height: 0; }
24103 }
24104
24105 @keyframes expand {
24106 0% { max-height: 0; }
24107 100% { max-height: 100vh; }
24108 }
24109
24110 /* div.accordion > div.accordion-content {
24111 transition: max-height 0.4s ease-out 0s;
24112 }*/
24113
24114 div.accordion.expanded > label > span.expander {
24115 transform: rotate(90deg);
24116 }
24117
24118 div.accordion > label > span.expander {
24119 transition: transform 0.4s ease-out 0s;
24120 display: inline-block;
24121 font-size: 12px;
24122 }
24123
24124
24125 table {
24126 margin-bottom: 0;
24127 }
24128
24129 /* Markdown renders some spurious <p>s inside the table cells */
24130 td > p {
24131 margin:0;
24132 }
24133
24134 /* This just looks bad (with the current grey headers for sections which Vlad doesn't really like, so might have to change this) */
24135 section.collapsable > div.section-comments > p {
24136 margin:0;
24137 }
24138
24139 div.section-comments {
24140 margin-bottom: 0.25em;
24141 }
24142
24143 /* section.collapsable div.section-comments {
24144 margin: 1em;
24145 font-size: 12px;
24146 }*/
24147
24148 section.collapsable pre {
24149 margin:0;
24150 }
24151
24152 section {
24153 margin-left: 0.5em;
24154 }
24155
24156 section h4, section.collapsable h4 {
24157 margin-left: -0.5em;
24158 }
24159
24160
24161
24162 </style>
24163 </body></html>
55
66 <h2>Leaflet API reference</h2>
77
8 <p>This reference reflects <strong>Leaflet 1.5.0</strong>. Check <a href='reference-versions.html'>this list</a> if you are using a different version of Leaflet.</p>
8 <p>This reference reflects <strong>Leaflet 1.5.0</strong> and <strong>Leaflet 1.5.1</strong>. Check <a href='reference-versions.html'>this list</a> if you are using a different version of Leaflet.</p>
99
1010 <div id="toc" class="clearfix">
1111 <div class="toc-col map-col">
76027602
76037603
76047604
7605 <pre><code class="lang-js">var element = &#39;&lt;svg width=&quot;200&quot; height=&quot;200&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot; xmlns:xlink=&quot;http://www.w3.org/1999/xlink&quot;&gt;&lt;image xlink:href=&quot;https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png&quot; height=&quot;200&quot; width=&quot;200&quot;/&gt;&lt;/svg&gt;&#39;,
7606 elementBounds = [ [ 32, -130 ], [ 13, -100 ] ];
7607 L.svgOverlay(element, elementBounds).addTo(map);
7605 <pre><code class="lang-js">var svgElement = document.createElementNS(&quot;http://www.w3.org/2000/svg&quot;, &quot;svg&quot;);
7606 svgElement.setAttribute(&#39;xmlns&#39;, &quot;http://www.w3.org/2000/svg&quot;);
7607 svgElement.setAttribute(&#39;viewBox&#39;, &quot;0 0 200 200&quot;);
7608 svgElement.innerHTML = &#39;&lt;rect width=&quot;200&quot; height=&quot;200&quot;/&gt;&lt;rect x=&quot;75&quot; y=&quot;23&quot; width=&quot;50&quot; height=&quot;50&quot; style=&quot;fill:red&quot;/&gt;&lt;rect x=&quot;75&quot; y=&quot;123&quot; width=&quot;50&quot; height=&quot;50&quot; style=&quot;fill:#0013ff&quot;/&gt;&#39;;
7609 var svgElementBounds = [ [ 32, -130 ], [ 13, -100 ] ];
7610 L.svgOverlay(svgElement, svgElementBounds).addTo(map);
76087611 </code></pre>
76097612
76107613
2479824801 <h2 id='version'>version</h2><p>A constant that represents the Leaflet version in use.</p>
2479924802 <pre><code class="lang-js">L.version; // contains &quot;1.0.0&quot; (or whatever version is currently in use)
2480024803 </code></pre>
24801
24802
24803
24804
24805
24806 <div class="footer">
24807 <p>© 2017 <a href="http://agafonkin.com/en">Vladimir Agafonkin</a>. Maps © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors.</p>
24808 </div>
24809
24810 </div>
24811
24812 <script src="https://leafletjs.com/docs/js/docs.js"></script>
24813 <script>
24814 hljs.configure({tabReplace: ' '});
24815 hljs.initHighlightingOnLoad();
24816
24817 var elems = document.querySelectorAll('h2, h3, h4, tr');
24818
24819 for (var i = 0, len = elems.length; i < len; i++) {
24820 var el = elems[i];
24821
24822 if (el.id) {
24823 var anchor = document.createElement('a');
24824 anchor.setAttribute('anchor', el.id);
24825 if (!el.children.length) {
24826 // For headers, insert the anchor before.
24827 el.parentNode.insertBefore(anchor, el);
24828 } else {
24829 // For table rows, insert the anchor inside the first <td>
24830 el.querySelector('td').appendChild(anchor);
24831
24832 // Clicking on the row (meaning "the link icon on the ::before)
24833 // jumps to the item
24834 el.parentNode.onclick = function(hash){
24835 return function(ev) {
24836 if (ev.offsetX < 0) {
24837 window.location.hash = '#' + ev.target.parentNode.id;
24838 }
24839 };
24840 }(el.id);
24841 }
24842 }
24843 }
24844
24845 elems = document.querySelectorAll('div.accordion');
24846 for (var i = 0, len = elems.length; i < len; i++) {
24847 var el = elems[i];
24848
24849 el.querySelector('label').addEventListener('click', function(c){
24850 return function() {
24851 if (c.className === 'accordion expanded') {
24852 c.className = 'accordion collapsed';
24853 } else {
24854 c.className = 'accordion expanded';
24855 }
24856 };
24857 }(el));
24858
24859 // el.className = 'accordion collapsed';
24860 // el.querySelector('.accordion-content').style.display = 'none';
24861 }
24862
24863 </script>
24864 <style>
24865
24866 h2 {
24867 margin-top: 2em;
24868 }
24869
24870 h3 {
24871 margin-top: 1em;
24872 margin-bottom: .5em;
24873 }
24874
24875 div.accordion {
24876 width: 100%;
24877 /* overflow: hidden; */
24878 }
24879
24880 div.accordion-overflow {
24881 width: 100%;
24882 overflow: hidden;
24883 }
24884
24885 label,
24886 section > h4 {
24887 display: block;
24888 font-weight: 500;
24889 margin: 1em 0 0.25em;
24890 }
24891
24892 label {
24893 cursor: pointer;
24894 }
24895
24896 div.accordion > div.accordion-overflow > div.accordion-content {
24897 max-height: 0;
24898 display: none;
24899 }
24900
24901 div.accordion.collapsed > div.accordion-overflow > div.accordion-content {
24902 animation-duration: 0.4s;
24903 animation-name: collapse;
24904 /* height: 0; */
24905 max-height: 0;
24906 display: block;
24907 overflow: hidden;
24908 }
24909
24910 div.accordion.expanded > div.accordion-overflow > div.accordion-content {
24911 animation-duration: 0.4s;
24912 animation-name: expand;
24913 /* height: auto; */
24914 max-height: none;
24915 display: block;
24916 }
24917
24918 @keyframes collapse {
24919 0% { max-height: 100vh; }
24920 100% { max-height: 0; }
24921 }
24922
24923 @keyframes expand {
24924 0% { max-height: 0; }
24925 100% { max-height: 100vh; }
24926 }
24927
24928 /* div.accordion > div.accordion-content {
24929 transition: max-height 0.4s ease-out 0s;
24930 }*/
24931
24932 div.accordion.expanded > label > span.expander {
24933 transform: rotate(90deg);
24934 }
24935
24936 div.accordion > label > span.expander {
24937 transition: transform 0.4s ease-out 0s;
24938 display: inline-block;
24939 font-size: 12px;
24940 }
24941
24942
24943 table {
24944 margin-bottom: 0;
24945 }
24946
24947 /* Markdown renders some spurious <p>s inside the table cells */
24948 td > p {
24949 margin:0;
24950 }
24951
24952 /* This just looks bad (with the current grey headers for sections which Vlad doesn't really like, so might have to change this) */
24953 section.collapsable > div.section-comments > p {
24954 margin:0;
24955 }
24956
24957 div.section-comments {
24958 margin-bottom: 0.25em;
24959 }
24960
24961 /* section.collapsable div.section-comments {
24962 margin: 1em;
24963 font-size: 12px;
24964 }*/
24965
24966 section.collapsable pre {
24967 margin:0;
24968 }
24969
24970 section {
24971 margin-left: 0.5em;
24972 }
24973
24974 section h4, section.collapsable h4 {
24975 margin-left: -0.5em;
24976 }
24977
24978
24979
24980 </style>
24981 </body></html>
0 ---
1 layout: redirected
2 redirect_to: reference-1.5.0.html
3 ---
1818 <li><a href='reference-1.3.2.html'>API reference for 1.3.2 and 1.3.3</a>
1919 <li><a href='reference-1.3.4.html'>API reference for 1.3.4</a>
2020 <li><a href='reference-1.4.0.html'>API reference for 1.4.0</a>
21 <li><a href='reference-1.5.0.html'>API reference for 1.5.0</a>
21 <li><a href='reference-1.5.0.html'>API reference for 1.5.0 and 1.5.1</a>
2222 </ul></p>
00 {
11 "name": "leaflet",
2 "version": "1.5.1",
2 "version": "1.6.0",
3 "homepage": "https://leafletjs.com/",
34 "description": "JavaScript library for mobile-friendly interactive maps",
45 "devDependencies": {
56 "eslint": "^4.19.1",
3536 ],
3637 "scripts": {
3738 "docs": "node ./build/docs.js",
38 "pretest": "npm run lint && npm run lint-spec",
39 "pretest": "npm run lint",
3940 "test": "npm run test-nolint",
4041 "test-nolint": "karma start ./spec/karma.conf.js",
4142 "build": "npm run rollup && npm run uglify",
4243 "release": "./build/publish.sh",
43 "lint": "eslint src",
44 "lint-spec": "eslint spec/suites",
45 "lintfix": "eslint src --fix; eslint spec/suites --fix;",
44 "lint": "eslint src spec/suites docs/docs/js",
45 "lintfix": "npm run lint -- --fix",
4646 "rollup": "rollup -c build/rollup-config.js",
4747 "watch": "rollup -w -c build/rollup-watch-config.js",
4848 "uglify": "uglifyjs dist/leaflet-src.js -c -m -o dist/leaflet.js --source-map filename=dist/leaflet.js.map --in-source-map dist/leaflet-src.js.map --source-map-url leaflet.js.map --comments",
8585 expect(L.Util.formatNum(13.12325555, 3)).to.eql(13.123);
8686 expect(L.Util.formatNum(13.12325555)).to.eql(13.123256);
8787 expect(L.Util.formatNum(13.12325555, 0)).to.eql(13);
88 expect(L.Util.formatNum(1.005, 2)).to.eql(1.01);
89 expect(L.Util.formatNum(1.555, 2)).to.eql(1.56);
90 expect(L.Util.formatNum(-1.4837191022531273, 18)).to.eql(-1.4837191022531273);
88 expect(isNaN(L.Util.formatNum(-7.993322e-10))).to.eql(false);
9189 });
9290 });
9391
3030 layer.addData(geojsonEmpty);
3131 expect(layer.getLayers().length).to.eql(0);
3232 });
33
34 it("makes default marker inherit group options if explicitly requested", function () {
35 // Check first that it does not inherit group options by default
36 var options = {
37 customOption: "My Custom Option"
38 };
39 var layer = new L.GeoJSON(null, options);
40 layer.addData(geojson);
41 expect(layer.getLayers()[0].options.customOption).to.equal(undefined);
42
43 // Now make it inherit group options
44 layer.options.markersInheritOptions = true;
45 layer.addData(geojson);
46 expect(layer.getLayers()[1].options.customOption).to.eql(options.customOption);
47 });
3348 });
3449
3550 describe('resetStyle', function () {
5267 expect(layer.options.color).to.be('chocolate');
5368 });
5469
70 it('should reset init options of all child layers', function () {
71 var feature = {
72 type: 'Feature',
73 geometry: {
74 type: 'LineString',
75 coordinates:[[-2.35, 51.38], [-2.38, 51.38]]
76 }
77 };
78 var feature2 = {
79 type: 'Feature',
80 geometry: {
81 type: 'LineString',
82 coordinates:[[-3.35, 50.38], [-3.38, 50.38]]
83 }
84 };
85 var geojson = L.geoJSON([feature, feature2], {weight: 7, color: 'chocolate'});
86 geojson.setStyle({weight: 22, color: 'coral'});
87 var layer = geojson.getLayers()[0];
88 expect(layer.options.weight).to.be(22);
89 expect(layer.options.color).to.be('coral');
90 var layer2 = geojson.getLayers()[1];
91 expect(layer2.options.weight).to.be(22);
92 expect(layer2.options.color).to.be('coral');
93 geojson.resetStyle(); // Should apply to all layers
94 expect(layer.options.weight).to.be(7);
95 expect(layer.options.color).to.be('chocolate');
96 expect(layer2.options.weight).to.be(7);
97 expect(layer2.options.color).to.be('chocolate');
98 });
99
55100 });
56101
57102 });
78123 expect(marker.toGeoJSON(3).geometry).to.eql({
79124 type: 'Point',
80125 coordinates: [20.123, 10.123, 30.123]
81 });
82
83 marker = new L.Marker({lng: -1.4837191022531273, lat: 43.49222084042808});
84 expect(marker.toGeoJSON(18).geometry).to.eql({
85 type: 'Point',
86 coordinates: [-1.4837191022531273, 43.49222084042808]
87126 });
88127 });
89128 });
4949 });
5050 });
5151 });
52
53 describe("#setLatLng", function () {
54 var map;
55
56 beforeEach(function () {
57 map = L.map(document.createElement('div'));
58 map.setView([0, 0], 1);
59 });
60
61 it("fires a move event", function () {
62
63 var marker = new L.CircleMarker([0, 0]);
64 map.addLayer(marker);
65
66 var beforeLatLng = marker._latlng;
67 var afterLatLng = new L.LatLng(1, 2);
68
69 var eventArgs = null;
70 marker.on('move', function (e) {
71 eventArgs = e;
72 });
73
74 marker.setLatLng(afterLatLng);
75
76 expect(eventArgs).to.not.be(null);
77 expect(eventArgs.oldLatLng).to.be(beforeLatLng);
78 expect(eventArgs.latlng).to.be(afterLatLng);
79 expect(marker.getLatLng()).to.be(afterLatLng);
80 });
81 });
5282 });
6767 happen.mousemove(container);
6868
6969 expect(spy.called).to.not.be.ok();
70 });
71
72 it("does not throw if removed during animation", function () {
73 var container = document.createElement('div'),
74 map = new L.Map(container).setView([0, 0], 1);
75
76 // Force creation of animation proxy,
77 // otherwise browser checks disable it
78 map._createAnimProxy();
79
80 // #6775 Remove the map in the middle of the animation
81 map.on("zoom", map.remove);
82 map.setZoom(2);
7083 });
7184
7285 it("throws error if container is reused by other instance", function () {
424424
425425
426426 // @factory L.control.layers(baselayers?: Object, overlays?: Object, options?: Control.Layers options)
427 // Creates an attribution control with the given layers. Base layers will be switched with radio buttons, while overlays will be switched with checkboxes. Note that all base layers should be passed in the base layers object, but only one should be added to the map during map instantiation.
427 // Creates a layers control with the given layers. Base layers will be switched with radio buttons, while overlays will be switched with checkboxes. Note that all base layers should be passed in the base layers object, but only one should be added to the map during map instantiation.
428428 export var layers = function (baseLayers, overlays, options) {
429429 return new Layers(baseLayers, overlays, options);
430430 };
0 import * as Util from './Util';
01 import {svgCreate} from '../layer/vector/SVG.Util';
12
23 /*
9192
9293 // @property pointer: Boolean
9394 // `true` for all browsers supporting [pointer events](https://msdn.microsoft.com/en-us/library/dn433244%28v=vs.85%29.aspx).
94 export var pointer = !!(window.PointerEvent || msPointer);
95 export var pointer = !webkit && !!(window.PointerEvent || msPointer);
9596
9697 // @property touch: Boolean
9798 // `true` for all browsers supporting [touch events](https://developer.mozilla.org/docs/Web/API/Touch_events).
112113 // `true` for browsers on a high-resolution "retina" screen or on any screen when browser's display zoom is more than 100%.
113114 export var retina = (window.devicePixelRatio || (window.screen.deviceXDPI / window.screen.logicalXDPI)) > 1;
114115
116 // @property passiveEvents: Boolean
117 // `true` for browsers that support passive events.
118 export var passiveEvents = (function () {
119 var supportsPassiveOption = false;
120 try {
121 var opts = Object.defineProperty({}, 'passive', {
122 get: function () {
123 supportsPassiveOption = true;
124 }
125 });
126 window.addEventListener('testPassiveEventSupport', Util.falseFn, opts);
127 window.removeEventListener('testPassiveEventSupport', Util.falseFn, opts);
128 } catch (e) {
129 // Errors can safely be ignored since this is only a browser support test.
130 }
131 return supportsPassiveOption;
132 });
115133
116134 // @property canvas: Boolean
117135 // `true` when the browser supports [`<canvas>`](https://developer.mozilla.org/docs/Web/API/Canvas_API).
113113 // @function formatNum(num: Number, digits?: Number): Number
114114 // Returns the number `num` rounded to `digits` decimals, or to 6 decimals by default.
115115 export function formatNum(num, digits) {
116 digits = (digits === undefined ? 6 : digits);
117 return +(Math.round(num + ('e+' + digits)) + ('e-' + digits));
116 var pow = Math.pow(10, (digits === undefined ? 6 : digits));
117 return Math.round(num * pow) / pow;
118118 }
119119
120120 // @function trim(str: String): String
5959 obj[_pre + _touchend + id] = onTouchEnd;
6060 obj[_pre + 'dblclick' + id] = handler;
6161
62 obj.addEventListener(_touchstart, onTouchStart, false);
63 obj.addEventListener(_touchend, onTouchEnd, false);
62 obj.addEventListener(_touchstart, onTouchStart, Browser.passiveEvents ? {passive: false} : false);
63 obj.addEventListener(_touchend, onTouchEnd, Browser.passiveEvents ? {passive: false} : false);
6464
6565 // On some platforms (notably, chrome<55 on win10 + touchscreen + mouse),
6666 // the browser doesn't fire touchend/pointerup events but does fire
7676 touchend = obj[_pre + _touchend + id],
7777 dblclick = obj[_pre + 'dblclick' + id];
7878
79 obj.removeEventListener(_touchstart, touchstart, false);
80 obj.removeEventListener(_touchend, touchend, false);
79 obj.removeEventListener(_touchstart, touchstart, Browser.passiveEvents ? {passive: false} : false);
80 obj.removeEventListener(_touchend, touchend, Browser.passiveEvents ? {passive: false} : false);
8181 if (!Browser.edge) {
8282 obj.removeEventListener('dblclick', dblclick, false);
8383 }
9393 } else if ('addEventListener' in obj) {
9494
9595 if (type === 'mousewheel') {
96 obj.addEventListener('onwheel' in obj ? 'wheel' : 'mousewheel', handler, false);
96 obj.addEventListener('onwheel' in obj ? 'wheel' : 'mousewheel', handler, Browser.passiveEvents ? {passive: false} : false);
9797
9898 } else if ((type === 'mouseenter') || (type === 'mouseleave')) {
9999 handler = function (e) {
138138 } else if ('removeEventListener' in obj) {
139139
140140 if (type === 'mousewheel') {
141 obj.removeEventListener('onwheel' in obj ? 'wheel' : 'mousewheel', handler, false);
141 obj.removeEventListener('onwheel' in obj ? 'wheel' : 'mousewheel', handler, Browser.passiveEvents ? {passive: false} : false);
142142
143143 } else {
144144 obj.removeEventListener(
7777 * @option coordsToLatLng: Function = *
7878 * A `Function` that will be used for converting GeoJSON coordinates to `LatLng`s.
7979 * The default is the `coordsToLatLng` static method.
80 *
81 * @option markersInheritOptions: Boolean = false
82 * Whether default Markers for "Point" type Features inherit from group options.
8083 */
8184
8285 initialize: function (geojson, options) {
126129 return this.addLayer(layer);
127130 },
128131
129 // @method resetStyle( <Path> layer ): this
132 // @method resetStyle( <Path> layer? ): this
130133 // Resets the given vector layer's style to the original GeoJSON style, useful for resetting style after hover events.
134 // If `layer` is omitted, the style of all features in the current layer is reset.
131135 resetStyle: function (layer) {
136 if (layer === undefined) {
137 return this.eachLayer(this.resetStyle, this);
138 }
132139 // reset any custom styles
133140 layer.options = Util.extend({}, layer.defaultOptions);
134141 this._setLayerStyle(layer, this.options.style);
176183 switch (geometry.type) {
177184 case 'Point':
178185 latlng = _coordsToLatLng(coords);
179 return pointToLayer ? pointToLayer(geojson, latlng) : new Marker(latlng);
186 return _pointToLayer(pointToLayer, geojson, latlng, options);
180187
181188 case 'MultiPoint':
182189 for (i = 0, len = coords.length; i < len; i++) {
183190 latlng = _coordsToLatLng(coords[i]);
184 layers.push(pointToLayer ? pointToLayer(geojson, latlng) : new Marker(latlng));
191 layers.push(_pointToLayer(pointToLayer, geojson, latlng, options));
185192 }
186193 return new FeatureGroup(layers);
187194
214221 }
215222 }
216223
224 function _pointToLayer(pointToLayerFn, geojson, latlng, options) {
225 return pointToLayerFn ?
226 pointToLayerFn(geojson, latlng) :
227 new Marker(latlng, options && options.markersInheritOptions && options);
228 }
229
217230 // @function coordsToLatLng(coords: Array): LatLng
218231 // Creates a `LatLng` object from an array of 2 numbers (longitude, latitude)
219232 // or 3 numbers (longitude, latitude, altitude) used in GeoJSON for points.
297310 };
298311
299312 // @namespace Marker
313 // @section Other methods
300314 // @method toGeoJSON(precision?: Number): Object
301315 // `precision` is the number of decimal places for coordinates.
302316 // The default value is 6 places.
1313 * @example
1414 *
1515 * ```js
16 * var element = '<svg width="200" height="200" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><image xlink:href="https://mdn.mozillademos.org/files/6457/mdn_logo_only_color.png" height="200" width="200"/></svg>',
17 * elementBounds = [ [ 32, -130 ], [ 13, -100 ] ];
18 * L.svgOverlay(element, elementBounds).addTo(map);
16 * var svgElement = document.createElementNS("http://www.w3.org/2000/svg", "svg");
17 * svgElement.setAttribute('xmlns', "http://www.w3.org/2000/svg");
18 * svgElement.setAttribute('viewBox', "0 0 200 200");
19 * svgElement.innerHTML = '<rect width="200" height="200"/><rect x="75" y="23" width="50" height="50" style="fill:red"/><rect x="75" y="123" width="50" height="50" style="fill:#0013ff"/>';
20 * var svgElementBounds = [ [ 32, -130 ], [ 13, -100 ] ];
21 * L.svgOverlay(svgElement, svgElementBounds).addTo(map);
1922 * ```
2023 */
2124
2528
2629 DomUtil.addClass(el, 'leaflet-image-layer');
2730 if (this._zoomAnimated) { DomUtil.addClass(el, 'leaflet-zoom-animated'); }
31 if (this.options.className) { DomUtil.addClass(el, this.options.className); }
2832
2933 el.onselectstart = Util.falseFn;
3034 el.onmousemove = Util.falseFn;
4545
4646 DomUtil.addClass(vid, 'leaflet-image-layer');
4747 if (this._zoomAnimated) { DomUtil.addClass(vid, 'leaflet-zoom-animated'); }
48 if (this.options.className) { DomUtil.addClass(vid, this.options.className); }
4849
4950 vid.onselectstart = Util.falseFn;
5051 vid.onmousemove = Util.falseFn;
286286 },
287287
288288 _setPos: function (pos) {
289 DomUtil.setPosition(this._icon, pos);
289
290 if (this._icon) {
291 DomUtil.setPosition(this._icon, pos);
292 }
290293
291294 if (this._shadow) {
292295 DomUtil.setPosition(this._shadow, pos);
298301 },
299302
300303 _updateZIndex: function (offset) {
301 this._icon.style.zIndex = this._zIndex + offset;
304 if (this._icon) {
305 this._icon.style.zIndex = this._zIndex + offset;
306 }
302307 },
303308
304309 _animateZoom: function (opt) {
5959 _initContainer: function () {
6060 var container = this._container = document.createElement('canvas');
6161
62 DomEvent.on(container, 'mousemove', Util.throttle(this._onMouseMove, 32, this), this);
62 DomEvent.on(container, 'mousemove', this._onMouseMove, this);
6363 DomEvent.on(container, 'click dblclick mousedown mouseup contextmenu', this._onClick, this);
6464 DomEvent.on(container, 'mouseout', this._handleMouseOut, this);
6565
369369 DomUtil.removeClass(this._container, 'leaflet-interactive');
370370 this._fireEvent([layer], e, 'mouseout');
371371 this._hoveredLayer = null;
372 this._mouseHoverThrottled = false;
372373 }
373374 },
374375
375376 _handleMouseHover: function (e, point) {
377 if (this._mouseHoverThrottled) {
378 return;
379 }
380
376381 var layer, candidateHoveredLayer;
377382
378383 for (var order = this._drawFirst; order; order = order.next) {
395400 if (this._hoveredLayer) {
396401 this._fireEvent([this._hoveredLayer], e);
397402 }
403
404 this._mouseHoverThrottled = true;
405 setTimeout(L.bind(function () {
406 this._mouseHoverThrottled = false;
407 }, this), 32);
398408 },
399409
400410 _fireEvent: function (layers, e, type) {
3232 // @method setLatLng(latLng: LatLng): this
3333 // Sets the position of a circle marker to a new location.
3434 setLatLng: function (latlng) {
35 var oldLatLng = this._latlng;
3536 this._latlng = toLatLng(latlng);
3637 this.redraw();
37 return this.fire('move', {latlng: this._latlng});
38
39 // @event move: Event
40 // Fired when the marker is moved via [`setLatLng`](#circlemarker-setlatlng). Old and new coordinates are included in event arguments as `oldLatLng`, `latlng`.
41 return this.fire('move', {oldLatLng: oldLatLng, latlng: this._latlng});
3842 },
3943
4044 // @method getLatLng(): LatLng
104104 Util.setOptions(this, style);
105105 if (this._renderer) {
106106 this._renderer._updateStyle(this);
107 if (this.options.stroke && style.hasOwnProperty('weight')) {
107 if (this.options.stroke && style && style.hasOwnProperty('weight')) {
108108 this._updateBounds();
109109 }
110110 }
16151615 }
16161616 }, this);
16171617
1618 this.on('load moveend', function () {
1619 var c = this.getCenter(),
1620 z = this.getZoom();
1621 DomUtil.setTransform(this._proxy, this.project(c, z), this.getZoomScale(z, 1));
1622 }, this);
1618 this.on('load moveend', this._animMoveEnd, this);
16231619
16241620 this._on('unload', this._destroyAnimProxy, this);
16251621 },
16261622
16271623 _destroyAnimProxy: function () {
16281624 DomUtil.remove(this._proxy);
1625 this.off('load moveend', this._animMoveEnd, this);
16291626 delete this._proxy;
1627 },
1628
1629 _animMoveEnd: function () {
1630 var c = this.getCenter(),
1631 z = this.getZoom();
1632 DomUtil.setTransform(this._proxy, this.project(c, z), this.getZoomScale(z, 1));
16301633 },
16311634
16321635 _catchTransitionEnd: function (e) {
16781681 DomUtil.addClass(this._mapPane, 'leaflet-zoom-anim');
16791682 }
16801683
1684 // @section Other Events
16811685 // @event zoomanim: ZoomAnimEvent
16821686 // Fired at least once per zoom animation. For continuous zoom, like pinch zooming, fired once per frame during zoom.
16831687 this.fire('zoomanim', {