You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2015/07/16 09:09:26 UTC
[44/51] [partial] karaf-decanter git commit: [KARAF-3849] Add karaf
kibana dashboard
http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/a24aae9b/kibana/src/main/resources/app/panels/bettermap/leaflet/plugins.css
----------------------------------------------------------------------
diff --git a/kibana/src/main/resources/app/panels/bettermap/leaflet/plugins.css b/kibana/src/main/resources/app/panels/bettermap/leaflet/plugins.css
index d693679..ba2c7c4 100644
--- a/kibana/src/main/resources/app/panels/bettermap/leaflet/plugins.css
+++ b/kibana/src/main/resources/app/panels/bettermap/leaflet/plugins.css
@@ -1 +1,75 @@
-.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{-webkit-transition:-webkit-transform .2s ease-out,opacity .2s ease-in;-moz-transition:-moz-transform .2s ease-out,opacity .2s ease-in;-o-transition:-o-transform .2s ease-out,opacity .2s ease-in;transition:transform .2s ease-out,opacity .2s ease-in}.marker-cluster-small{background-color:rgba(181,226,140,.6)}.marker-cluster-small div{background-color:rgba(110,204,57,.6)}.marker-cluster-medium{background-color:rgba(241,211,87,.6)}.marker-cluster-medium div{background-color:rgba(240,194,12,.6)}.marker-cluster-large{background-color:rgba(253,156,115,.6)}.marker-cluster-large div{background-color:rgba(241,128,23,.6)}.marker-cluster{background-clip:padding-box;border-radius:20px}.marker-cluster div{width:30px;height:30px;margin-left:5px;margin-top:5px;text-align:center;border-radius:15px;font:12px "Helvetica Neue",Arial,Helvetica,sans-serif}.marker-cluster span{line-height:30px}.leaflet-label{background
:#1f1f1f;background-clip:padding-box;border-radius:4px;border-style:solid;border-width:0;display:block;font-weight:200;font-size:11pt;padding:5px;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;white-space:nowrap;z-index:99999!important}.leaflet-label:before{border-right:6px solid #000;border-right-color:inherit;border-top:6px solid transparent;border-bottom:6px solid transparent;content:"";position:absolute;top:5px;left:-10px;display:none}
\ No newline at end of file
+.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
+ -webkit-transition: -webkit-transform 0.2s ease-out, opacity 0.2s ease-in;
+ -moz-transition: -moz-transform 0.2s ease-out, opacity 0.2s ease-in;
+ -o-transition: -o-transform 0.2s ease-out, opacity 0.2s ease-in;
+ transition: transform 0.2s ease-out, opacity 0.2s ease-in;
+ }
+.marker-cluster-small {
+ background-color: rgba(181, 226, 140, 0.6);
+ }
+.marker-cluster-small div {
+ background-color: rgba(110, 204, 57, 0.6);
+ }
+
+.marker-cluster-medium {
+ background-color: rgba(241, 211, 87, 0.6);
+ }
+.marker-cluster-medium div {
+ background-color: rgba(240, 194, 12, 0.6);
+ }
+
+.marker-cluster-large {
+ background-color: rgba(253, 156, 115, 0.6);
+ }
+.marker-cluster-large div {
+ background-color: rgba(241, 128, 23, 0.6);
+ }
+
+.marker-cluster {
+ background-clip: padding-box;
+ border-radius: 20px;
+ }
+.marker-cluster div {
+ width: 30px;
+ height: 30px;
+ margin-left: 5px;
+ margin-top: 5px;
+
+ text-align: center;
+ border-radius: 15px;
+ font: 12px "Helvetica Neue", Arial, Helvetica, sans-serif;
+ }
+.marker-cluster span {
+ line-height: 30px;
+ }
+
+.leaflet-label {
+ background: #1f1f1f;
+ background-clip: padding-box;
+ border-radius: 4px;
+ border-style: solid;
+ border-width: 0px;
+ display: block;
+ font-weight: 200;
+ font-size: 11pt;
+ padding: 5px;
+ position: absolute;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ white-space: nowrap;
+ z-index: 99999 !important;
+}
+
+.leaflet-label:before {
+ border-right: 6px solid black;
+ border-right-color: inherit;
+ border-top: 6px solid transparent;
+ border-bottom: 6px solid transparent;
+ content: "";
+ position: absolute;
+ top: 5px;
+ left: -10px;
+ display: none;
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/a24aae9b/kibana/src/main/resources/app/panels/bettermap/leaflet/plugins.js
----------------------------------------------------------------------
diff --git a/kibana/src/main/resources/app/panels/bettermap/leaflet/plugins.js b/kibana/src/main/resources/app/panels/bettermap/leaflet/plugins.js
index 5e86356..81f6e44 100644
--- a/kibana/src/main/resources/app/panels/bettermap/leaflet/plugins.js
+++ b/kibana/src/main/resources/app/panels/bettermap/leaflet/plugins.js
@@ -1,4 +1,16 @@
-/*! kibana - v3.1.2 - 2014-11-07
- * Copyright (c) 2014 Rashid Khan; Licensed Apache License */
+/*
+ Leaflet.markercluster, Provides Beautiful Animated Marker Clustering functionality for Leaflet, a JS library for interactive maps.
+ https://github.com/Leaflet/Leaflet.markercluster
+ (c) 2012-2013, Dave Leaver, smartrak
+*/
+!function(t,e){L.MarkerClusterGroup=L.FeatureGroup.extend({options:{maxClusterRadius:80,iconCreateFunction:null,spiderfyOnMaxZoom:!0,showCoverageOnHover:!0,zoomToBoundsOnClick:!0,singleMarkerMode:!1,disableClusteringAtZoom:null,removeOutsideVisibleBounds:!0,animateAddingMarkers:!1,spiderfyDistanceMultiplier:1,polygonOptions:{}},initialize:function(t){L.Util.setOptions(this,t),this.options.iconCreateFunction||(this.options.iconCreateFunction=this._defaultIconCreateFunction),L.FeatureGroup.prototype.initialize.call(this,[]),this._inZoomAnimation=0,this._needsClustering=[],this._needsRemoving=[],this._currentShownBounds=null},addLayer:function(t){if(t instanceof L.LayerGroup){var e=[];for(var i in t._layers)e.push(t._layers[i]);return this.addLayers(e)}if(!this._map)return this._needsClustering.push(t),this;if(this.hasLayer(t))return this;this._unspiderfy&&this._unspiderfy(),this._addLayer(t,this._maxZoom);var n=t,r=this._map.getZoom();if(t.__parent)for(;n.__parent._zoom>=r;)n=n.__pare
nt;return this._currentShownBounds.contains(n.getLatLng())&&(this.options.animateAddingMarkers?this._animationAddLayer(t,n):this._animationAddLayerNonAnimated(t,n)),this},removeLayer:function(t){return this._map?t.__parent?(this._unspiderfy&&(this._unspiderfy(),this._unspiderfyLayer(t)),this._removeLayer(t,!0),(t._icon||t._container)&&(L.FeatureGroup.prototype.removeLayer.call(this,t),t.setOpacity&&t.setOpacity(1)),this):this:(!this._arraySplice(this._needsClustering,t)&&this.hasLayer(t)&&this._needsRemoving.push(t),this)},addLayers:function(t){var e,i,n;if(!this._map)return this._needsClustering=this._needsClustering.concat(t),this;for(e=0,i=t.length;i>e;e++)if(n=t[e],!this.hasLayer(n)&&(this._addLayer(n,this._maxZoom),n.__parent&&2===n.__parent.getChildCount())){var r=n.__parent.getAllChildMarkers(),s=r[0]===n?r[1]:r[0];L.FeatureGroup.prototype.removeLayer.call(this,s)}for(e in this._layers)n=this._layers[e],n instanceof L.MarkerCluster&&n._iconNeedsUpdate&&n._updateIcon();return
this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds),this},removeLayers:function(t){var e,i,n;if(!this._map){for(e=0,i=t.length;i>e;e++)this._arraySplice(this._needsClustering,t[e]);return this}for(e=0,i=t.length;i>e;e++)n=t[e],n.__parent&&(this._removeLayer(n,!0,!0),n._icon&&(L.FeatureGroup.prototype.removeLayer.call(this,n),n.setOpacity(1)));this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds);for(e in this._layers)n=this._layers[e],n instanceof L.MarkerCluster&&n._updateIcon();return this},clearLayers:function(){this._map||(this._needsClustering=[],delete this._gridClusters,delete this._gridUnclustered),this._noanimationUnspiderfy&&this._noanimationUnspiderfy();for(var t in this._layers)L.FeatureGroup.prototype.removeLayer.call(this,this._layers[t]);return this.eachLayer(function(t){delete t.__parent}),this._map&&this._generateInitialClusters(),this},getBounds:function(){var t=new L.LatLngBounds;if(th
is._topClusterLevel)t.extend(this._topClusterLevel._bounds);else for(var e=this._needsClustering.length-1;e>=0;e--)t.extend(this._needsClustering[e].getLatLng());return t},eachLayer:function(t,e){var i,n=this._needsClustering.slice();for(this._topClusterLevel&&this._topClusterLevel.getAllChildMarkers(n),i=n.length-1;i>=0;i--)t.call(e,n[i])},hasLayer:function(t){if(!t||t._noHas)return!1;var e,i=this._needsClustering;for(e=i.length-1;e>=0;e--)if(i[e]===t)return!0;for(i=this._needsRemoving,e=i.length-1;e>=0;e--)if(i[e]===t)return!1;return!(!t.__parent||t.__parent._group!==this)},zoomToShowLayer:function(t,e){var i=function(){if((t._icon||t.__parent._icon)&&!this._inZoomAnimation)if(this._map.off("moveend",i,this),this.off("animationend",i,this),t._icon)e();else if(t.__parent._icon){var n=function(){this.off("spiderfied",n,this),e()};this.on("spiderfied",n,this),t.__parent.spiderfy()}};t._icon?e():t.__parent._zoom<this._map.getZoom()?(this._map.on("moveend",i,this),t._icon||this._map.pa
nTo(t.getLatLng())):(this._map.on("moveend",i,this),this.on("animationend",i,this),this._map.setView(t.getLatLng(),t.__parent._zoom+1),t.__parent.zoomToBounds())},onAdd:function(t){this._map=t;var e,i,n;for(this._gridClusters||this._generateInitialClusters(),e=0,i=this._needsRemoving.length;i>e;e++)n=this._needsRemoving[e],this._removeLayer(n);for(this._needsRemoving=[],e=0,i=this._needsClustering.length;i>e;e++)n=this._needsClustering[e],n.__parent||this._addLayer(n,this._maxZoom);this._needsClustering=[],this._map.on("zoomend",this._zoomEnd,this),this._map.on("moveend",this._moveEnd,this),this._spiderfierOnAdd&&this._spiderfierOnAdd(),this._bindEvents(),this._zoom=this._map.getZoom(),this._currentShownBounds=this._getExpandedVisibleBounds(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds)},onRemove:function(t){t.off("zoomend",this._zoomEnd,this),t.off("moveend",this._moveEnd,this),this._unbindEvents(),this._map._mapPane.className=this._m
ap._mapPane.className.replace(" leaflet-cluster-anim",""),this._spiderfierOnRemove&&this._spiderfierOnRemove();for(var e in this._layers)L.FeatureGroup.prototype.removeLayer.call(this,this._layers[e]);this._map=null},_arraySplice:function(t,e){for(var i=t.length-1;i>=0;i--)if(t[i]===e)return t.splice(i,1),!0},_removeLayer:function(t,e,i){var n=this._gridClusters,r=this._gridUnclustered,s=this._map;if(e)for(var o=this._maxZoom;o>=0&&r[o].removeObject(t,s.project(t.getLatLng(),o));o--);var a,l=t.__parent,_=l._markers;for(this._arraySplice(_,t);l&&(l._childCount--,!(l._zoom<0));)e&&l._childCount<=1?(a=l._markers[0]===t?l._markers[1]:l._markers[0],n[l._zoom].removeObject(l,s.project(l._cLatLng,l._zoom)),r[l._zoom].addObject(a,s.project(a.getLatLng(),l._zoom)),this._arraySplice(l.__parent._childClusters,l),l.__parent._markers.push(a),a.__parent=l.__parent,l._icon&&(L.FeatureGroup.prototype.removeLayer.call(this,l),i||(a._noHas=!0,L.FeatureGroup.prototype.addLayer.call(this,a),delete a._n
oHas))):(l._recalculateBounds(),i&&l._icon||l._updateIcon()),l=l.__parent;delete t.__parent},_propagateEvent:function(t){t.target instanceof L.MarkerCluster&&(t.type="cluster"+t.type),L.FeatureGroup.prototype._propagateEvent.call(this,t)},_defaultIconCreateFunction:function(t){var e=t.getChildCount(),i=" marker-cluster-";return i+=10>e?"small":100>e?"medium":"large",new L.DivIcon({html:"<div><span>"+e+"</span></div>",className:"marker-cluster"+i,iconSize:new L.Point(40,40)})},_bindEvents:function(){var t=null,e=this._map,i=this.options.spiderfyOnMaxZoom,n=this.options.showCoverageOnHover,r=this.options.zoomToBoundsOnClick;(i||r)&&this.on("clusterclick",function(t){e.getMaxZoom()===e.getZoom()?i&&t.layer.spiderfy():r&&t.layer.zoomToBounds()},this),n&&(this.on("clustermouseover",function(i){this._inZoomAnimation||(t&&e.removeLayer(t),i.layer.getChildCount()>2&&i.layer!==this._spiderfied&&(t=new L.Polygon(i.layer.getConvexHull(),this.options.polygonOptions),e.addLayer(t)))},this),this.
on("clustermouseout",function(){t&&(e.removeLayer(t),t=null)},this),e.on("zoomend",function(){t&&(e.removeLayer(t),t=null)},this),e.on("layerremove",function(i){t&&i.layer===this&&(e.removeLayer(t),t=null)},this))},_unbindEvents:function(){var t=this.options.spiderfyOnMaxZoom,e=this.options.showCoverageOnHover,i=this.options.zoomToBoundsOnClick,n=this._map;(t||i)&&this.off("clusterclick",null,this),e&&(this.off("clustermouseover",null,this),this.off("clustermouseout",null,this),n.off("zoomend",null,this),n.off("layerremove",null,this))},_zoomEnd:function(){this._map&&(this._mergeSplitClusters(),this._zoom=this._map._zoom,this._currentShownBounds=this._getExpandedVisibleBounds())},_moveEnd:function(){if(!this._inZoomAnimation){var t=this._getExpandedVisibleBounds();this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,this._zoom,t),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,t),this._currentShownBounds=t}},_generateInitialClusters:fun
ction(){var t=this._map.getMaxZoom(),e=this.options.maxClusterRadius;this.options.disableClusteringAtZoom&&(t=this.options.disableClusteringAtZoom-1),this._maxZoom=t,this._gridClusters={},this._gridUnclustered={};for(var i=t;i>=0;i--)this._gridClusters[i]=new L.DistanceGrid(e),this._gridUnclustered[i]=new L.DistanceGrid(e);this._topClusterLevel=new L.MarkerCluster(this,-1)},_addLayer:function(t,e){var i,n,r=this._gridClusters,s=this._gridUnclustered;for(this.options.singleMarkerMode&&(t.options.icon=this.options.iconCreateFunction({getChildCount:function(){return 1},getAllChildMarkers:function(){return[t]}}));e>=0;e--){i=this._map.project(t.getLatLng(),e);var o=r[e].getNearObject(i);if(o)return o._addChild(t),t.__parent=o,void 0;if(o=s[e].getNearObject(i)){var a=o.__parent;a&&this._removeLayer(o,!1);var l=new L.MarkerCluster(this,e,o,t);r[e].addObject(l,this._map.project(l._cLatLng,e)),o.__parent=l,t.__parent=l;var _=l;for(n=e-1;n>a._zoom;n--)_=new L.MarkerCluster(this,n,_),r[n].add
Object(_,this._map.project(o.getLatLng(),n));for(a._addChild(_),n=e;n>=0&&s[n].removeObject(o,this._map.project(o.getLatLng(),n));n--);return}s[e].addObject(t,i)}this._topClusterLevel._addChild(t),t.__parent=this._topClusterLevel},_mergeSplitClusters:function(){this._zoom<this._map._zoom?(this._animationStart(),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,this._zoom,this._getExpandedVisibleBounds()),this._animationZoomIn(this._zoom,this._map._zoom)):this._zoom>this._map._zoom?(this._animationStart(),this._animationZoomOut(this._zoom,this._map._zoom)):this._moveEnd()},_getExpandedVisibleBounds:function(){if(!this.options.removeOutsideVisibleBounds)return this.getBounds();var t=this._map,e=t.getBounds(),i=e._southWest,n=e._northEast,r=L.Browser.mobile?0:Math.abs(i.lat-n.lat),s=L.Browser.mobile?0:Math.abs(i.lng-n.lng);return new L.LatLngBounds(new L.LatLng(i.lat-r,i.lng-s,!0),new L.LatLng(n.lat+r,n.lng+s,!0))},_animationAddLayerNonAnimated:function(t
,e){if(e===t)t._noHas=!0,L.FeatureGroup.prototype.addLayer.call(this,t),delete t._noHas;else if(2===e._childCount){e._addToMap();var i=e.getAllChildMarkers();L.FeatureGroup.prototype.removeLayer.call(this,i[0]),L.FeatureGroup.prototype.removeLayer.call(this,i[1])}else e._updateIcon()}}),L.MarkerClusterGroup.include(L.DomUtil.TRANSITION?{_animationStart:function(){this._map._mapPane.className+=" leaflet-cluster-anim",this._inZoomAnimation++},_animationEnd:function(){this._map&&(this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim","")),this._inZoomAnimation--,this.fire("animationend")},_animationZoomIn:function(t,e){var i,n=this,r=this._getExpandedVisibleBounds();this._topClusterLevel._recursively(r,t,0,function(s){var o,a=s._latlng,l=s._markers;for(s._isSingleParent()&&t+1===e?(L.FeatureGroup.prototype.removeLayer.call(n,s),s._recursivelyAddChildrenToMap(null,e,r)):(s.setOpacity(0),s._recursivelyAddChildrenToMap(a,e,r)),i=l.length-1;i>=0;i--)o=l[i
],r.contains(o._latlng)||L.FeatureGroup.prototype.removeLayer.call(n,o)}),this._forceLayout();var s,o;n._topClusterLevel._recursivelyBecomeVisible(r,e);for(s in n._layers)o=n._layers[s],o instanceof L.MarkerCluster||!o._icon||o.setOpacity(1);n._topClusterLevel._recursively(r,t,e,function(t){t._recursivelyRestoreChildPositions(e)}),setTimeout(function(){n._topClusterLevel._recursively(r,t,0,function(t){L.FeatureGroup.prototype.removeLayer.call(n,t),t.setOpacity(1)}),n._animationEnd()},200)},_animationZoomOut:function(t,e){this._animationZoomOutSingle(this._topClusterLevel,t-1,e),this._topClusterLevel._recursivelyAddChildrenToMap(null,e,this._getExpandedVisibleBounds()),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,t,this._getExpandedVisibleBounds())},_animationZoomOutSingle:function(t,e,i){var n=this._getExpandedVisibleBounds();t._recursivelyAnimateChildrenInAndAddSelfToMap(n,e+1,i);var r=this;this._forceLayout(),t._recursivelyBecomeVisible(n,i),set
Timeout(function(){if(1===t._childCount){var s=t._markers[0];s.setLatLng(s.getLatLng()),s.setOpacity(1)}else t._recursively(n,i,0,function(t){t._recursivelyRemoveChildrenFromMap(n,e+1)});r._animationEnd()},200)},_animationAddLayer:function(t,e){var i=this;t._noHas=!0,L.FeatureGroup.prototype.addLayer.call(this,t),delete t._noHas,e!==t&&(e._childCount>2?(e._updateIcon(),this._forceLayout(),this._animationStart(),t._setPos(this._map.latLngToLayerPoint(e.getLatLng())),t.setOpacity(0),setTimeout(function(){L.FeatureGroup.prototype.removeLayer.call(i,t),t.setOpacity(1),i._animationEnd()},200)):(this._forceLayout(),i._animationStart(),i._animationZoomOutSingle(e,this._map.getMaxZoom(),this._map.getZoom())))},_forceLayout:function(){L.Util.falseFn(e.body.offsetWidth)}}:{_animationStart:function(){},_animationZoomIn:function(t,e){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,t),this._topClusterLevel._recursivelyAddChildrenToMap(null,e,this._getExpandedVisi
bleBounds())},_animationZoomOut:function(t,e){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,t),this._topClusterLevel._recursivelyAddChildrenToMap(null,e,this._getExpandedVisibleBounds())},_animationAddLayer:function(t,e){this._animationAddLayerNonAnimated(t,e)}}),L.markerClusterGroup=function(t){return new L.MarkerClusterGroup(t)},L.MarkerCluster=L.Marker.extend({initialize:function(t,e,i,n){L.Marker.prototype.initialize.call(this,i?i._cLatLng||i.getLatLng():new L.LatLng(0,0),{icon:this}),this._group=t,this._zoom=e,this._markers=[],this._childClusters=[],this._childCount=0,this._iconNeedsUpdate=!0,this._bounds=new L.LatLngBounds,i&&this._addChild(i),n&&this._addChild(n)},getAllChildMarkers:function(t){t=t||[];for(var e=this._childClusters.length-1;e>=0;e--)this._childClusters[e].getAllChildMarkers(t);for(var i=this._markers.length-1;i>=0;i--)t.push(this._markers[i]);return t},getChildCount:function(){return this._childCount},zoomToBounds:function()
{this._group._map.fitBounds(this._bounds)},getBounds:function(){var t=new L.LatLngBounds;return t.extend(this._bounds),t},_updateIcon:function(){this._iconNeedsUpdate=!0,this._icon&&this.setIcon(this)},createIcon:function(){return this._iconNeedsUpdate&&(this._iconObj=this._group.options.iconCreateFunction(this),this._iconNeedsUpdate=!1),this._iconObj.createIcon()},createShadow:function(){return this._iconObj.createShadow()},_addChild:function(t,e){this._iconNeedsUpdate=!0,this._expandBounds(t),t instanceof L.MarkerCluster?(e||(this._childClusters.push(t),t.__parent=this),this._childCount+=t._childCount):(e||this._markers.push(t),this._childCount++),this.__parent&&this.__parent._addChild(t,!0)},_expandBounds:function(t){var e,i=t._wLatLng||t._latlng;t instanceof L.MarkerCluster?(this._bounds.extend(t._bounds),e=t._childCount):(this._bounds.extend(i),e=1),this._cLatLng||(this._cLatLng=t._cLatLng||i);var n=this._childCount+e;this._wLatLng?(this._wLatLng.lat=(i.lat*e+this._wLatLng.lat*
this._childCount)/n,this._wLatLng.lng=(i.lng*e+this._wLatLng.lng*this._childCount)/n):this._latlng=this._wLatLng=new L.LatLng(i.lat,i.lng)},_addToMap:function(t){t&&(this._backupLatlng=this._latlng,this.setLatLng(t)),this._noHas=!0,L.FeatureGroup.prototype.addLayer.call(this._group,this),delete this._noHas},_recursivelyAnimateChildrenIn:function(t,e,i){this._recursively(t,0,i-1,function(t){var i,n,r=t._markers;for(i=r.length-1;i>=0;i--)n=r[i],n._icon&&(n._setPos(e),n.setOpacity(0))},function(t){var i,n,r=t._childClusters;for(i=r.length-1;i>=0;i--)n=r[i],n._icon&&(n._setPos(e),n.setOpacity(0))})},_recursivelyAnimateChildrenInAndAddSelfToMap:function(t,e,i){this._recursively(t,i,0,function(n){n._recursivelyAnimateChildrenIn(t,n._group._map.latLngToLayerPoint(n.getLatLng()).round(),e),n._isSingleParent()&&e-1===i?(n.setOpacity(1),n._recursivelyRemoveChildrenFromMap(t,e)):n.setOpacity(0),n._addToMap()})},_recursivelyBecomeVisible:function(t,e){this._recursively(t,0,e,null,function(t){t.
setOpacity(1)})},_recursivelyAddChildrenToMap:function(t,e,i){this._recursively(i,-1,e,function(n){if(e!==n._zoom)for(var r=n._markers.length-1;r>=0;r--){var s=n._markers[r];i.contains(s._latlng)&&(t&&(s._backupLatlng=s.getLatLng(),s.setLatLng(t),s.setOpacity&&s.setOpacity(0)),s._noHas=!0,L.FeatureGroup.prototype.addLayer.call(n._group,s),delete s._noHas)}},function(e){e._addToMap(t)})},_recursivelyRestoreChildPositions:function(t){for(var e=this._markers.length-1;e>=0;e--){var i=this._markers[e];i._backupLatlng&&(i.setLatLng(i._backupLatlng),delete i._backupLatlng)}if(t-1===this._zoom)for(var n=this._childClusters.length-1;n>=0;n--)this._childClusters[n]._restorePosition();else for(var r=this._childClusters.length-1;r>=0;r--)this._childClusters[r]._recursivelyRestoreChildPositions(t)},_restorePosition:function(){this._backupLatlng&&(this.setLatLng(this._backupLatlng),delete this._backupLatlng)},_recursivelyRemoveChildrenFromMap:function(t,e,i){var n,r;this._recursively(t,-1,e-1,fun
ction(t){for(r=t._markers.length-1;r>=0;r--)n=t._markers[r],i&&i.contains(n._latlng)||(L.FeatureGroup.prototype.removeLayer.call(t._group,n),n.setOpacity&&n.setOpacity(1))},function(t){for(r=t._childClusters.length-1;r>=0;r--)n=t._childClusters[r],i&&i.contains(n._latlng)||((!L.FeatureGroup.prototype.hasLayer||L.FeatureGroup.prototype.hasLayer.call(t._group,n))&&L.FeatureGroup.prototype.removeLayer.call(t._group,n),n.setOpacity&&n.setOpacity(1))})},_recursively:function(t,e,i,n,r){var s,o,a=this._childClusters,l=this._zoom;if(e>l)for(s=a.length-1;s>=0;s--)o=a[s],t.intersects(o._bounds)&&o._recursively(t,e,i,n,r);else if(n&&n(this),r&&this._zoom===i&&r(this),i>l)for(s=a.length-1;s>=0;s--)o=a[s],t.intersects(o._bounds)&&o._recursively(t,e,i,n,r)},_recalculateBounds:function(){var t,e=this._markers,i=this._childClusters;for(this._bounds=new L.LatLngBounds,delete this._wLatLng,t=e.length-1;t>=0;t--)this._expandBounds(e[t]);for(t=i.length-1;t>=0;t--)this._expandBounds(i[t])},_isSinglePar
ent:function(){return this._childClusters.length>0&&this._childClusters[0]._childCount===this._childCount}}),L.DistanceGrid=function(t){this._cellSize=t,this._sqCellSize=t*t,this._grid={},this._objectPoint={}},L.DistanceGrid.prototype={addObject:function(t,e){var i=this._getCoord(e.x),n=this._getCoord(e.y),r=this._grid,s=r[n]=r[n]||{},o=s[i]=s[i]||[],a=L.Util.stamp(t);this._objectPoint[a]=e,o.push(t)},updateObject:function(t,e){this.removeObject(t),this.addObject(t,e)},removeObject:function(t,e){var i,n,r=this._getCoord(e.x),s=this._getCoord(e.y),o=this._grid,a=o[s]=o[s]||{},l=a[r]=a[r]||[];for(delete this._objectPoint[L.Util.stamp(t)],i=0,n=l.length;n>i;i++)if(l[i]===t)return l.splice(i,1),1===n&&delete a[r],!0},eachObject:function(t,e){var i,n,r,s,o,a,l,_=this._grid;for(i in _){o=_[i];for(n in o)for(a=o[n],r=0,s=a.length;s>r;r++)l=t.call(e,a[r]),l&&(r--,s--)}},getNearObject:function(t){var e,i,n,r,s,o,a,l,_=this._getCoord(t.x),h=this._getCoord(t.y),u=this._objectPoint,d=this._sqCe
llSize,p=null;for(e=h-1;h+1>=e;e++)if(r=this._grid[e])for(i=_-1;_+1>=i;i++)if(s=r[i])for(n=0,o=s.length;o>n;n++)a=s[n],l=this._sqDist(u[L.Util.stamp(a)],t),d>l&&(d=l,p=a);return p},_getCoord:function(t){return Math.floor(t/this._cellSize)},_sqDist:function(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n}},function(){L.QuickHull={getDistant:function(t,e){var i=e[1].lat-e[0].lat,n=e[0].lng-e[1].lng;return n*(t.lat-e[0].lat)+i*(t.lng-e[0].lng)},findMostDistantPointFromBaseLine:function(t,e){var i,n,r,s=0,o=null,a=[];for(i=e.length-1;i>=0;i--)n=e[i],r=this.getDistant(n,t),r>0&&(a.push(n),r>s&&(s=r,o=n));return{maxPoint:o,newPoints:a}},buildConvexHull:function(t,e){var i=[],n=this.findMostDistantPointFromBaseLine(t,e);return n.maxPoint?(i=i.concat(this.buildConvexHull([t[0],n.maxPoint],n.newPoints)),i=i.concat(this.buildConvexHull([n.maxPoint,t[1]],n.newPoints))):[t]},getConvexHull:function(t){var e,i=!1,n=!1,r=null,s=null;for(e=t.length-1;e>=0;e--){var o=t[e];(i===!1||o.lat>i)&&(r=o,i=o.lat
),(n===!1||o.lat<n)&&(s=o,n=o.lat)}var a=[].concat(this.buildConvexHull([s,r],t),this.buildConvexHull([r,s],t));return a}}}(),L.MarkerCluster.include({getConvexHull:function(){var t,e,i,n=this.getAllChildMarkers(),r=[],s=[];for(i=n.length-1;i>=0;i--)e=n[i].getLatLng(),r.push(e);for(t=L.QuickHull.getConvexHull(r),i=t.length-1;i>=0;i--)s.push(t[i][0]);return s}}),L.MarkerCluster.include({_2PI:2*Math.PI,_circleFootSeparation:25,_circleStartAngle:Math.PI/6,_spiralFootSeparation:28,_spiralLengthStart:11,_spiralLengthFactor:5,_circleSpiralSwitchover:9,spiderfy:function(){if(this._group._spiderfied!==this&&!this._group._inZoomAnimation){var t,e=this.getAllChildMarkers(),i=this._group,n=i._map,r=n.latLngToLayerPoint(this._latlng);this._group._unspiderfy(),this._group._spiderfied=this,e.length>=this._circleSpiralSwitchover?t=this._generatePointsSpiral(e.length,r):(r.y+=10,t=this._generatePointsCircle(e.length,r)),this._animationSpiderfy(e,t)}},unspiderfy:function(t){this._group._inZoomAnimat
ion||(this._animationUnspiderfy(t),this._group._spiderfied=null)},_generatePointsCircle:function(t,e){var i,n,r=this._group.options.spiderfyDistanceMultiplier*this._circleFootSeparation*(2+t),s=r/this._2PI,o=this._2PI/t,a=[];for(a.length=t,i=t-1;i>=0;i--)n=this._circleStartAngle+i*o,a[i]=new L.Point(e.x+s*Math.cos(n),e.y+s*Math.sin(n))._round();return a},_generatePointsSpiral:function(t,e){var i,n=this._group.options.spiderfyDistanceMultiplier*this._spiralLengthStart,r=this._group.options.spiderfyDistanceMultiplier*this._spiralFootSeparation,s=this._group.options.spiderfyDistanceMultiplier*this._spiralLengthFactor,o=0,a=[];for(a.length=t,i=t-1;i>=0;i--)o+=r/n+5e-4*i,a[i]=new L.Point(e.x+n*Math.cos(o),e.y+n*Math.sin(o))._round(),n+=this._2PI*s/o;return a},_noanimationUnspiderfy:function(){var t,e,i=this._group,n=i._map,r=this.getAllChildMarkers();for(this.setOpacity(1),e=r.length-1;e>=0;e--)t=r[e],L.FeatureGroup.prototype.removeLayer.call(i,t),t._preSpiderfyLatlng&&(t.setLatLng(t._pr
eSpiderfyLatlng),delete t._preSpiderfyLatlng),t.setZIndexOffset(0),t._spiderLeg&&(n.removeLayer(t._spiderLeg),delete t._spiderLeg)}}),L.MarkerCluster.include(L.DomUtil.TRANSITION?{SVG_ANIMATION:function(){return e.createElementNS("http://www.w3.org/2000/svg","animate").toString().indexOf("SVGAnimate")>-1}(),_animationSpiderfy:function(t,i){var n,r,s,o,a=this,l=this._group,_=l._map,h=_.latLngToLayerPoint(this._latlng);for(n=t.length-1;n>=0;n--)r=t[n],r.setZIndexOffset(1e6),r.setOpacity(0),r._noHas=!0,L.FeatureGroup.prototype.addLayer.call(l,r),delete r._noHas,r._setPos(h);l._forceLayout(),l._animationStart();var u=L.Path.SVG?0:.3,d=L.Path.SVG_NS;for(n=t.length-1;n>=0;n--)if(o=_.layerPointToLatLng(i[n]),r=t[n],r._preSpiderfyLatlng=r._latlng,r.setLatLng(o),r.setOpacity(1),s=new L.Polyline([a._latlng,o],{weight:1.5,color:"#222",opacity:u}),_.addLayer(s),r._spiderLeg=s,L.Path.SVG&&this.SVG_ANIMATION){var p=s._path.getTotalLength();s._path.setAttribute("stroke-dasharray",p+","+p);var c=e.
createElementNS(d,"animate");c.setAttribute("attributeName","stroke-dashoffset"),c.setAttribute("begin","indefinite"),c.setAttribute("from",p),c.setAttribute("to",0),c.setAttribute("dur",.25),s._path.appendChild(c),c.beginElement(),c=e.createElementNS(d,"animate"),c.setAttribute("attributeName","stroke-opacity"),c.setAttribute("attributeName","stroke-opacity"),c.setAttribute("begin","indefinite"),c.setAttribute("from",0),c.setAttribute("to",.5),c.setAttribute("dur",.25),s._path.appendChild(c),c.beginElement()}if(a.setOpacity(.3),L.Path.SVG)for(this._group._forceLayout(),n=t.length-1;n>=0;n--)r=t[n]._spiderLeg,r.options.opacity=.5,r._path.setAttribute("stroke-opacity",.5);setTimeout(function(){l._animationEnd(),l.fire("spiderfied")},200)},_animationUnspiderfy:function(t){var e,i,n,r=this._group,s=r._map,o=t?s._latLngToNewLayerPoint(this._latlng,t.zoom,t.center):s.latLngToLayerPoint(this._latlng),a=this.getAllChildMarkers(),l=L.Path.SVG&&this.SVG_ANIMATION;for(r._animationStart(),this
.setOpacity(1),i=a.length-1;i>=0;i--)e=a[i],e._preSpiderfyLatlng&&(e.setLatLng(e._preSpiderfyLatlng),delete e._preSpiderfyLatlng,e._setPos(o),e.setOpacity(0),l&&(n=e._spiderLeg._path.childNodes[0],n.setAttribute("to",n.getAttribute("from")),n.setAttribute("from",0),n.beginElement(),n=e._spiderLeg._path.childNodes[1],n.setAttribute("from",.5),n.setAttribute("to",0),n.setAttribute("stroke-opacity",0),n.beginElement(),e._spiderLeg._path.setAttribute("stroke-opacity",0)));setTimeout(function(){var t=0;for(i=a.length-1;i>=0;i--)e=a[i],e._spiderLeg&&t++;for(i=a.length-1;i>=0;i--)e=a[i],e._spiderLeg&&(e.setOpacity(1),e.setZIndexOffset(0),t>1&&L.FeatureGroup.prototype.removeLayer.call(r,e),s.removeLayer(e._spiderLeg),delete e._spiderLeg);r._animationEnd()},200)}}:{_animationSpiderfy:function(t,e){var i,n,r,s,o=this._group,a=o._map;for(i=t.length-1;i>=0;i--)s=a.layerPointToLatLng(e[i]),n=t[i],n._preSpiderfyLatlng=n._latlng,n.setLatLng(s),n.setZIndexOffset(1e6),L.FeatureGroup.prototype.addLay
er.call(o,n),r=new L.Polyline([this._latlng,s],{weight:1.5,color:"#222"}),a.addLayer(r),n._spiderLeg=r;this.setOpacity(.3),o.fire("spiderfied")},_animationUnspiderfy:function(){this._noanimationUnspiderfy()}}),L.MarkerClusterGroup.include({_spiderfied:null,_spiderfierOnAdd:function(){this._map.on("click",this._unspiderfyWrapper,this),this._map.options.zoomAnimation?this._map.on("zoomstart",this._unspiderfyZoomStart,this):this._map.on("zoomend",this._unspiderfyWrapper,this),L.Path.SVG&&!L.Browser.touch&&this._map._initPathRoot()},_spiderfierOnRemove:function(){this._map.off("click",this._unspiderfyWrapper,this),this._map.off("zoomstart",this._unspiderfyZoomStart,this),this._map.off("zoomanim",this._unspiderfyZoomAnim,this),this._unspiderfy()},_unspiderfyZoomStart:function(){this._map&&this._map.on("zoomanim",this._unspiderfyZoomAnim,this)},_unspiderfyZoomAnim:function(t){L.DomUtil.hasClass(this._map._mapPane,"leaflet-touching")||(this._map.off("zoomanim",this._unspiderfyZoomAnim,this
),this._unspiderfy(t))},_unspiderfyWrapper:function(){this._unspiderfy()},_unspiderfy:function(t){this._spiderfied&&this._spiderfied.unspiderfy(t)},_noanimationUnspiderfy:function(){this._spiderfied&&this._spiderfied._noanimationUnspiderfy()},_unspiderfyLayer:function(t){t._spiderLeg&&(L.FeatureGroup.prototype.removeLayer.call(this,t),t.setOpacity(1),t.setZIndexOffset(0),this._map.removeLayer(t._spiderLeg),delete t._spiderLeg)}})}(window,document);
-!function(a,b){L.MarkerClusterGroup=L.FeatureGroup.extend({options:{maxClusterRadius:80,iconCreateFunction:null,spiderfyOnMaxZoom:!0,showCoverageOnHover:!0,zoomToBoundsOnClick:!0,singleMarkerMode:!1,disableClusteringAtZoom:null,removeOutsideVisibleBounds:!0,animateAddingMarkers:!1,spiderfyDistanceMultiplier:1,polygonOptions:{}},initialize:function(a){L.Util.setOptions(this,a),this.options.iconCreateFunction||(this.options.iconCreateFunction=this._defaultIconCreateFunction),L.FeatureGroup.prototype.initialize.call(this,[]),this._inZoomAnimation=0,this._needsClustering=[],this._needsRemoving=[],this._currentShownBounds=null},addLayer:function(a){if(a instanceof L.LayerGroup){var b=[];for(var c in a._layers)b.push(a._layers[c]);return this.addLayers(b)}if(!this._map)return this._needsClustering.push(a),this;if(this.hasLayer(a))return this;this._unspiderfy&&this._unspiderfy(),this._addLayer(a,this._maxZoom);var d=a,e=this._map.getZoom();if(a.__parent)for(;d.__parent._zoom>=e;)d=d.__pare
nt;return this._currentShownBounds.contains(d.getLatLng())&&(this.options.animateAddingMarkers?this._animationAddLayer(a,d):this._animationAddLayerNonAnimated(a,d)),this},removeLayer:function(a){return this._map?a.__parent?(this._unspiderfy&&(this._unspiderfy(),this._unspiderfyLayer(a)),this._removeLayer(a,!0),(a._icon||a._container)&&(L.FeatureGroup.prototype.removeLayer.call(this,a),a.setOpacity&&a.setOpacity(1)),this):this:(!this._arraySplice(this._needsClustering,a)&&this.hasLayer(a)&&this._needsRemoving.push(a),this)},addLayers:function(a){var b,c,d;if(!this._map)return this._needsClustering=this._needsClustering.concat(a),this;for(b=0,c=a.length;c>b;b++)if(d=a[b],!this.hasLayer(d)&&(this._addLayer(d,this._maxZoom),d.__parent&&2===d.__parent.getChildCount())){var e=d.__parent.getAllChildMarkers(),f=e[0]===d?e[1]:e[0];L.FeatureGroup.prototype.removeLayer.call(this,f)}for(b in this._layers)d=this._layers[b],d instanceof L.MarkerCluster&&d._iconNeedsUpdate&&d._updateIcon();return
this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds),this},removeLayers:function(a){var b,c,d;if(!this._map){for(b=0,c=a.length;c>b;b++)this._arraySplice(this._needsClustering,a[b]);return this}for(b=0,c=a.length;c>b;b++)d=a[b],d.__parent&&(this._removeLayer(d,!0,!0),d._icon&&(L.FeatureGroup.prototype.removeLayer.call(this,d),d.setOpacity(1)));this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds);for(b in this._layers)d=this._layers[b],d instanceof L.MarkerCluster&&d._updateIcon();return this},clearLayers:function(){this._map||(this._needsClustering=[],delete this._gridClusters,delete this._gridUnclustered),this._noanimationUnspiderfy&&this._noanimationUnspiderfy();for(var a in this._layers)L.FeatureGroup.prototype.removeLayer.call(this,this._layers[a]);return this.eachLayer(function(a){delete a.__parent}),this._map&&this._generateInitialClusters(),this},getBounds:function(){var a=new L.LatLngBounds;if(th
is._topClusterLevel)a.extend(this._topClusterLevel._bounds);else for(var b=this._needsClustering.length-1;b>=0;b--)a.extend(this._needsClustering[b].getLatLng());return a},eachLayer:function(a,b){var c,d=this._needsClustering.slice();for(this._topClusterLevel&&this._topClusterLevel.getAllChildMarkers(d),c=d.length-1;c>=0;c--)a.call(b,d[c])},hasLayer:function(a){if(!a||a._noHas)return!1;var b,c=this._needsClustering;for(b=c.length-1;b>=0;b--)if(c[b]===a)return!0;for(c=this._needsRemoving,b=c.length-1;b>=0;b--)if(c[b]===a)return!1;return!(!a.__parent||a.__parent._group!==this)},zoomToShowLayer:function(a,b){var c=function(){if((a._icon||a.__parent._icon)&&!this._inZoomAnimation)if(this._map.off("moveend",c,this),this.off("animationend",c,this),a._icon)b();else if(a.__parent._icon){var d=function(){this.off("spiderfied",d,this),b()};this.on("spiderfied",d,this),a.__parent.spiderfy()}};a._icon?b():a.__parent._zoom<this._map.getZoom()?(this._map.on("moveend",c,this),a._icon||this._map.pa
nTo(a.getLatLng())):(this._map.on("moveend",c,this),this.on("animationend",c,this),this._map.setView(a.getLatLng(),a.__parent._zoom+1),a.__parent.zoomToBounds())},onAdd:function(a){this._map=a;var b,c,d;for(this._gridClusters||this._generateInitialClusters(),b=0,c=this._needsRemoving.length;c>b;b++)d=this._needsRemoving[b],this._removeLayer(d);for(this._needsRemoving=[],b=0,c=this._needsClustering.length;c>b;b++)d=this._needsClustering[b],d.__parent||this._addLayer(d,this._maxZoom);this._needsClustering=[],this._map.on("zoomend",this._zoomEnd,this),this._map.on("moveend",this._moveEnd,this),this._spiderfierOnAdd&&this._spiderfierOnAdd(),this._bindEvents(),this._zoom=this._map.getZoom(),this._currentShownBounds=this._getExpandedVisibleBounds(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds)},onRemove:function(a){a.off("zoomend",this._zoomEnd,this),a.off("moveend",this._moveEnd,this),this._unbindEvents(),this._map._mapPane.className=this._m
ap._mapPane.className.replace(" leaflet-cluster-anim",""),this._spiderfierOnRemove&&this._spiderfierOnRemove();for(var b in this._layers)L.FeatureGroup.prototype.removeLayer.call(this,this._layers[b]);this._map=null},_arraySplice:function(a,b){for(var c=a.length-1;c>=0;c--)if(a[c]===b)return a.splice(c,1),!0},_removeLayer:function(a,b,c){var d=this._gridClusters,e=this._gridUnclustered,f=this._map;if(b)for(var g=this._maxZoom;g>=0&&e[g].removeObject(a,f.project(a.getLatLng(),g));g--);var h,i=a.__parent,j=i._markers;for(this._arraySplice(j,a);i&&(i._childCount--,!(i._zoom<0));)b&&i._childCount<=1?(h=i._markers[0]===a?i._markers[1]:i._markers[0],d[i._zoom].removeObject(i,f.project(i._cLatLng,i._zoom)),e[i._zoom].addObject(h,f.project(h.getLatLng(),i._zoom)),this._arraySplice(i.__parent._childClusters,i),i.__parent._markers.push(h),h.__parent=i.__parent,i._icon&&(L.FeatureGroup.prototype.removeLayer.call(this,i),c||(h._noHas=!0,L.FeatureGroup.prototype.addLayer.call(this,h),delete h._n
oHas))):(i._recalculateBounds(),c&&i._icon||i._updateIcon()),i=i.__parent;delete a.__parent},_propagateEvent:function(a){a.target instanceof L.MarkerCluster&&(a.type="cluster"+a.type),L.FeatureGroup.prototype._propagateEvent.call(this,a)},_defaultIconCreateFunction:function(a){var b=a.getChildCount(),c=" marker-cluster-";return c+=10>b?"small":100>b?"medium":"large",new L.DivIcon({html:"<div><span>"+b+"</span></div>",className:"marker-cluster"+c,iconSize:new L.Point(40,40)})},_bindEvents:function(){var a=null,b=this._map,c=this.options.spiderfyOnMaxZoom,d=this.options.showCoverageOnHover,e=this.options.zoomToBoundsOnClick;(c||e)&&this.on("clusterclick",function(a){b.getMaxZoom()===b.getZoom()?c&&a.layer.spiderfy():e&&a.layer.zoomToBounds()},this),d&&(this.on("clustermouseover",function(c){this._inZoomAnimation||(a&&b.removeLayer(a),c.layer.getChildCount()>2&&c.layer!==this._spiderfied&&(a=new L.Polygon(c.layer.getConvexHull(),this.options.polygonOptions),b.addLayer(a)))},this),this.
on("clustermouseout",function(){a&&(b.removeLayer(a),a=null)},this),b.on("zoomend",function(){a&&(b.removeLayer(a),a=null)},this),b.on("layerremove",function(c){a&&c.layer===this&&(b.removeLayer(a),a=null)},this))},_unbindEvents:function(){var a=this.options.spiderfyOnMaxZoom,b=this.options.showCoverageOnHover,c=this.options.zoomToBoundsOnClick,d=this._map;(a||c)&&this.off("clusterclick",null,this),b&&(this.off("clustermouseover",null,this),this.off("clustermouseout",null,this),d.off("zoomend",null,this),d.off("layerremove",null,this))},_zoomEnd:function(){this._map&&(this._mergeSplitClusters(),this._zoom=this._map._zoom,this._currentShownBounds=this._getExpandedVisibleBounds())},_moveEnd:function(){if(!this._inZoomAnimation){var a=this._getExpandedVisibleBounds();this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,this._zoom,a),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,a),this._currentShownBounds=a}},_generateInitialClusters:fun
ction(){var a=this._map.getMaxZoom(),b=this.options.maxClusterRadius;this.options.disableClusteringAtZoom&&(a=this.options.disableClusteringAtZoom-1),this._maxZoom=a,this._gridClusters={},this._gridUnclustered={};for(var c=a;c>=0;c--)this._gridClusters[c]=new L.DistanceGrid(b),this._gridUnclustered[c]=new L.DistanceGrid(b);this._topClusterLevel=new L.MarkerCluster(this,-1)},_addLayer:function(a,b){var c,d,e=this._gridClusters,f=this._gridUnclustered;for(this.options.singleMarkerMode&&(a.options.icon=this.options.iconCreateFunction({getChildCount:function(){return 1},getAllChildMarkers:function(){return[a]}}));b>=0;b--){c=this._map.project(a.getLatLng(),b);var g=e[b].getNearObject(c);if(g)return g._addChild(a),void(a.__parent=g);if(g=f[b].getNearObject(c)){var h=g.__parent;h&&this._removeLayer(g,!1);var i=new L.MarkerCluster(this,b,g,a);e[b].addObject(i,this._map.project(i._cLatLng,b)),g.__parent=i,a.__parent=i;var j=i;for(d=b-1;d>h._zoom;d--)j=new L.MarkerCluster(this,d,j),e[d].addO
bject(j,this._map.project(g.getLatLng(),d));for(h._addChild(j),d=b;d>=0&&f[d].removeObject(g,this._map.project(g.getLatLng(),d));d--);return}f[b].addObject(a,c)}this._topClusterLevel._addChild(a),a.__parent=this._topClusterLevel},_mergeSplitClusters:function(){this._zoom<this._map._zoom?(this._animationStart(),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,this._zoom,this._getExpandedVisibleBounds()),this._animationZoomIn(this._zoom,this._map._zoom)):this._zoom>this._map._zoom?(this._animationStart(),this._animationZoomOut(this._zoom,this._map._zoom)):this._moveEnd()},_getExpandedVisibleBounds:function(){if(!this.options.removeOutsideVisibleBounds)return this.getBounds();var a=this._map,b=a.getBounds(),c=b._southWest,d=b._northEast,e=L.Browser.mobile?0:Math.abs(c.lat-d.lat),f=L.Browser.mobile?0:Math.abs(c.lng-d.lng);return new L.LatLngBounds(new L.LatLng(c.lat-e,c.lng-f,!0),new L.LatLng(d.lat+e,d.lng+f,!0))},_animationAddLayerNonAnimated:function(a,
b){if(b===a)a._noHas=!0,L.FeatureGroup.prototype.addLayer.call(this,a),delete a._noHas;else if(2===b._childCount){b._addToMap();var c=b.getAllChildMarkers();L.FeatureGroup.prototype.removeLayer.call(this,c[0]),L.FeatureGroup.prototype.removeLayer.call(this,c[1])}else b._updateIcon()}}),L.MarkerClusterGroup.include(L.DomUtil.TRANSITION?{_animationStart:function(){this._map._mapPane.className+=" leaflet-cluster-anim",this._inZoomAnimation++},_animationEnd:function(){this._map&&(this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim","")),this._inZoomAnimation--,this.fire("animationend")},_animationZoomIn:function(a,b){var c,d=this,e=this._getExpandedVisibleBounds();this._topClusterLevel._recursively(e,a,0,function(f){var g,h=f._latlng,i=f._markers;for(f._isSingleParent()&&a+1===b?(L.FeatureGroup.prototype.removeLayer.call(d,f),f._recursivelyAddChildrenToMap(null,b,e)):(f.setOpacity(0),f._recursivelyAddChildrenToMap(h,b,e)),c=i.length-1;c>=0;c--)g=i[c]
,e.contains(g._latlng)||L.FeatureGroup.prototype.removeLayer.call(d,g)}),this._forceLayout();var f,g;d._topClusterLevel._recursivelyBecomeVisible(e,b);for(f in d._layers)g=d._layers[f],g instanceof L.MarkerCluster||!g._icon||g.setOpacity(1);d._topClusterLevel._recursively(e,a,b,function(a){a._recursivelyRestoreChildPositions(b)}),setTimeout(function(){d._topClusterLevel._recursively(e,a,0,function(a){L.FeatureGroup.prototype.removeLayer.call(d,a),a.setOpacity(1)}),d._animationEnd()},200)},_animationZoomOut:function(a,b){this._animationZoomOutSingle(this._topClusterLevel,a-1,b),this._topClusterLevel._recursivelyAddChildrenToMap(null,b,this._getExpandedVisibleBounds()),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,a,this._getExpandedVisibleBounds())},_animationZoomOutSingle:function(a,b,c){var d=this._getExpandedVisibleBounds();a._recursivelyAnimateChildrenInAndAddSelfToMap(d,b+1,c);var e=this;this._forceLayout(),a._recursivelyBecomeVisible(d,c),setT
imeout(function(){if(1===a._childCount){var f=a._markers[0];f.setLatLng(f.getLatLng()),f.setOpacity(1)}else a._recursively(d,c,0,function(a){a._recursivelyRemoveChildrenFromMap(d,b+1)});e._animationEnd()},200)},_animationAddLayer:function(a,b){var c=this;a._noHas=!0,L.FeatureGroup.prototype.addLayer.call(this,a),delete a._noHas,b!==a&&(b._childCount>2?(b._updateIcon(),this._forceLayout(),this._animationStart(),a._setPos(this._map.latLngToLayerPoint(b.getLatLng())),a.setOpacity(0),setTimeout(function(){L.FeatureGroup.prototype.removeLayer.call(c,a),a.setOpacity(1),c._animationEnd()},200)):(this._forceLayout(),c._animationStart(),c._animationZoomOutSingle(b,this._map.getMaxZoom(),this._map.getZoom())))},_forceLayout:function(){L.Util.falseFn(b.body.offsetWidth)}}:{_animationStart:function(){},_animationZoomIn:function(a,b){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,a),this._topClusterLevel._recursivelyAddChildrenToMap(null,b,this._getExpandedVisib
leBounds())},_animationZoomOut:function(a,b){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,a),this._topClusterLevel._recursivelyAddChildrenToMap(null,b,this._getExpandedVisibleBounds())},_animationAddLayer:function(a,b){this._animationAddLayerNonAnimated(a,b)}}),L.markerClusterGroup=function(a){return new L.MarkerClusterGroup(a)},L.MarkerCluster=L.Marker.extend({initialize:function(a,b,c,d){L.Marker.prototype.initialize.call(this,c?c._cLatLng||c.getLatLng():new L.LatLng(0,0),{icon:this}),this._group=a,this._zoom=b,this._markers=[],this._childClusters=[],this._childCount=0,this._iconNeedsUpdate=!0,this._bounds=new L.LatLngBounds,c&&this._addChild(c),d&&this._addChild(d)},getAllChildMarkers:function(a){a=a||[];for(var b=this._childClusters.length-1;b>=0;b--)this._childClusters[b].getAllChildMarkers(a);for(var c=this._markers.length-1;c>=0;c--)a.push(this._markers[c]);return a},getChildCount:function(){return this._childCount},zoomToBounds:function(){
this._group._map.fitBounds(this._bounds)},getBounds:function(){var a=new L.LatLngBounds;return a.extend(this._bounds),a},_updateIcon:function(){this._iconNeedsUpdate=!0,this._icon&&this.setIcon(this)},createIcon:function(){return this._iconNeedsUpdate&&(this._iconObj=this._group.options.iconCreateFunction(this),this._iconNeedsUpdate=!1),this._iconObj.createIcon()},createShadow:function(){return this._iconObj.createShadow()},_addChild:function(a,b){this._iconNeedsUpdate=!0,this._expandBounds(a),a instanceof L.MarkerCluster?(b||(this._childClusters.push(a),a.__parent=this),this._childCount+=a._childCount):(b||this._markers.push(a),this._childCount++),this.__parent&&this.__parent._addChild(a,!0)},_expandBounds:function(a){var b,c=a._wLatLng||a._latlng;a instanceof L.MarkerCluster?(this._bounds.extend(a._bounds),b=a._childCount):(this._bounds.extend(c),b=1),this._cLatLng||(this._cLatLng=a._cLatLng||c);var d=this._childCount+b;this._wLatLng?(this._wLatLng.lat=(c.lat*b+this._wLatLng.lat*t
his._childCount)/d,this._wLatLng.lng=(c.lng*b+this._wLatLng.lng*this._childCount)/d):this._latlng=this._wLatLng=new L.LatLng(c.lat,c.lng)},_addToMap:function(a){a&&(this._backupLatlng=this._latlng,this.setLatLng(a)),this._noHas=!0,L.FeatureGroup.prototype.addLayer.call(this._group,this),delete this._noHas},_recursivelyAnimateChildrenIn:function(a,b,c){this._recursively(a,0,c-1,function(a){var c,d,e=a._markers;for(c=e.length-1;c>=0;c--)d=e[c],d._icon&&(d._setPos(b),d.setOpacity(0))},function(a){var c,d,e=a._childClusters;for(c=e.length-1;c>=0;c--)d=e[c],d._icon&&(d._setPos(b),d.setOpacity(0))})},_recursivelyAnimateChildrenInAndAddSelfToMap:function(a,b,c){this._recursively(a,c,0,function(d){d._recursivelyAnimateChildrenIn(a,d._group._map.latLngToLayerPoint(d.getLatLng()).round(),b),d._isSingleParent()&&b-1===c?(d.setOpacity(1),d._recursivelyRemoveChildrenFromMap(a,b)):d.setOpacity(0),d._addToMap()})},_recursivelyBecomeVisible:function(a,b){this._recursively(a,0,b,null,function(a){a.s
etOpacity(1)})},_recursivelyAddChildrenToMap:function(a,b,c){this._recursively(c,-1,b,function(d){if(b!==d._zoom)for(var e=d._markers.length-1;e>=0;e--){var f=d._markers[e];c.contains(f._latlng)&&(a&&(f._backupLatlng=f.getLatLng(),f.setLatLng(a),f.setOpacity&&f.setOpacity(0)),f._noHas=!0,L.FeatureGroup.prototype.addLayer.call(d._group,f),delete f._noHas)}},function(b){b._addToMap(a)})},_recursivelyRestoreChildPositions:function(a){for(var b=this._markers.length-1;b>=0;b--){var c=this._markers[b];c._backupLatlng&&(c.setLatLng(c._backupLatlng),delete c._backupLatlng)}if(a-1===this._zoom)for(var d=this._childClusters.length-1;d>=0;d--)this._childClusters[d]._restorePosition();else for(var e=this._childClusters.length-1;e>=0;e--)this._childClusters[e]._recursivelyRestoreChildPositions(a)},_restorePosition:function(){this._backupLatlng&&(this.setLatLng(this._backupLatlng),delete this._backupLatlng)},_recursivelyRemoveChildrenFromMap:function(a,b,c){var d,e;this._recursively(a,-1,b-1,func
tion(a){for(e=a._markers.length-1;e>=0;e--)d=a._markers[e],c&&c.contains(d._latlng)||(L.FeatureGroup.prototype.removeLayer.call(a._group,d),d.setOpacity&&d.setOpacity(1))},function(a){for(e=a._childClusters.length-1;e>=0;e--)d=a._childClusters[e],c&&c.contains(d._latlng)||((!L.FeatureGroup.prototype.hasLayer||L.FeatureGroup.prototype.hasLayer.call(a._group,d))&&L.FeatureGroup.prototype.removeLayer.call(a._group,d),d.setOpacity&&d.setOpacity(1))})},_recursively:function(a,b,c,d,e){var f,g,h=this._childClusters,i=this._zoom;if(b>i)for(f=h.length-1;f>=0;f--)g=h[f],a.intersects(g._bounds)&&g._recursively(a,b,c,d,e);else if(d&&d(this),e&&this._zoom===c&&e(this),c>i)for(f=h.length-1;f>=0;f--)g=h[f],a.intersects(g._bounds)&&g._recursively(a,b,c,d,e)},_recalculateBounds:function(){var a,b=this._markers,c=this._childClusters;for(this._bounds=new L.LatLngBounds,delete this._wLatLng,a=b.length-1;a>=0;a--)this._expandBounds(b[a]);for(a=c.length-1;a>=0;a--)this._expandBounds(c[a])},_isSinglePare
nt:function(){return this._childClusters.length>0&&this._childClusters[0]._childCount===this._childCount}}),L.DistanceGrid=function(a){this._cellSize=a,this._sqCellSize=a*a,this._grid={},this._objectPoint={}},L.DistanceGrid.prototype={addObject:function(a,b){var c=this._getCoord(b.x),d=this._getCoord(b.y),e=this._grid,f=e[d]=e[d]||{},g=f[c]=f[c]||[],h=L.Util.stamp(a);this._objectPoint[h]=b,g.push(a)},updateObject:function(a,b){this.removeObject(a),this.addObject(a,b)},removeObject:function(a,b){var c,d,e=this._getCoord(b.x),f=this._getCoord(b.y),g=this._grid,h=g[f]=g[f]||{},i=h[e]=h[e]||[];for(delete this._objectPoint[L.Util.stamp(a)],c=0,d=i.length;d>c;c++)if(i[c]===a)return i.splice(c,1),1===d&&delete h[e],!0},eachObject:function(a,b){var c,d,e,f,g,h,i,j=this._grid;for(c in j){g=j[c];for(d in g)for(h=g[d],e=0,f=h.length;f>e;e++)i=a.call(b,h[e]),i&&(e--,f--)}},getNearObject:function(a){var b,c,d,e,f,g,h,i,j=this._getCoord(a.x),k=this._getCoord(a.y),l=this._objectPoint,m=this._sqCel
lSize,n=null;for(b=k-1;k+1>=b;b++)if(e=this._grid[b])for(c=j-1;j+1>=c;c++)if(f=e[c])for(d=0,g=f.length;g>d;d++)h=f[d],i=this._sqDist(l[L.Util.stamp(h)],a),m>i&&(m=i,n=h);return n},_getCoord:function(a){return Math.floor(a/this._cellSize)},_sqDist:function(a,b){var c=b.x-a.x,d=b.y-a.y;return c*c+d*d}},function(){L.QuickHull={getDistant:function(a,b){var c=b[1].lat-b[0].lat,d=b[0].lng-b[1].lng;return d*(a.lat-b[0].lat)+c*(a.lng-b[0].lng)},findMostDistantPointFromBaseLine:function(a,b){var c,d,e,f=0,g=null,h=[];for(c=b.length-1;c>=0;c--)d=b[c],e=this.getDistant(d,a),e>0&&(h.push(d),e>f&&(f=e,g=d));return{maxPoint:g,newPoints:h}},buildConvexHull:function(a,b){var c=[],d=this.findMostDistantPointFromBaseLine(a,b);return d.maxPoint?(c=c.concat(this.buildConvexHull([a[0],d.maxPoint],d.newPoints)),c=c.concat(this.buildConvexHull([d.maxPoint,a[1]],d.newPoints))):[a]},getConvexHull:function(a){var b,c=!1,d=!1,e=null,f=null;for(b=a.length-1;b>=0;b--){var g=a[b];(c===!1||g.lat>c)&&(e=g,c=g.lat)
,(d===!1||g.lat<d)&&(f=g,d=g.lat)}var h=[].concat(this.buildConvexHull([f,e],a),this.buildConvexHull([e,f],a));return h}}}(),L.MarkerCluster.include({getConvexHull:function(){var a,b,c,d=this.getAllChildMarkers(),e=[],f=[];for(c=d.length-1;c>=0;c--)b=d[c].getLatLng(),e.push(b);for(a=L.QuickHull.getConvexHull(e),c=a.length-1;c>=0;c--)f.push(a[c][0]);return f}}),L.MarkerCluster.include({_2PI:2*Math.PI,_circleFootSeparation:25,_circleStartAngle:Math.PI/6,_spiralFootSeparation:28,_spiralLengthStart:11,_spiralLengthFactor:5,_circleSpiralSwitchover:9,spiderfy:function(){if(this._group._spiderfied!==this&&!this._group._inZoomAnimation){var a,b=this.getAllChildMarkers(),c=this._group,d=c._map,e=d.latLngToLayerPoint(this._latlng);this._group._unspiderfy(),this._group._spiderfied=this,b.length>=this._circleSpiralSwitchover?a=this._generatePointsSpiral(b.length,e):(e.y+=10,a=this._generatePointsCircle(b.length,e)),this._animationSpiderfy(b,a)}},unspiderfy:function(a){this._group._inZoomAnimati
on||(this._animationUnspiderfy(a),this._group._spiderfied=null)},_generatePointsCircle:function(a,b){var c,d,e=this._group.options.spiderfyDistanceMultiplier*this._circleFootSeparation*(2+a),f=e/this._2PI,g=this._2PI/a,h=[];for(h.length=a,c=a-1;c>=0;c--)d=this._circleStartAngle+c*g,h[c]=new L.Point(b.x+f*Math.cos(d),b.y+f*Math.sin(d))._round();return h},_generatePointsSpiral:function(a,b){var c,d=this._group.options.spiderfyDistanceMultiplier*this._spiralLengthStart,e=this._group.options.spiderfyDistanceMultiplier*this._spiralFootSeparation,f=this._group.options.spiderfyDistanceMultiplier*this._spiralLengthFactor,g=0,h=[];for(h.length=a,c=a-1;c>=0;c--)g+=e/d+5e-4*c,h[c]=new L.Point(b.x+d*Math.cos(g),b.y+d*Math.sin(g))._round(),d+=this._2PI*f/g;return h},_noanimationUnspiderfy:function(){var a,b,c=this._group,d=c._map,e=this.getAllChildMarkers();for(this.setOpacity(1),b=e.length-1;b>=0;b--)a=e[b],L.FeatureGroup.prototype.removeLayer.call(c,a),a._preSpiderfyLatlng&&(a.setLatLng(a._pre
SpiderfyLatlng),delete a._preSpiderfyLatlng),a.setZIndexOffset(0),a._spiderLeg&&(d.removeLayer(a._spiderLeg),delete a._spiderLeg)}}),L.MarkerCluster.include(L.DomUtil.TRANSITION?{SVG_ANIMATION:function(){return b.createElementNS("http://www.w3.org/2000/svg","animate").toString().indexOf("SVGAnimate")>-1}(),_animationSpiderfy:function(a,c){var d,e,f,g,h=this,i=this._group,j=i._map,k=j.latLngToLayerPoint(this._latlng);for(d=a.length-1;d>=0;d--)e=a[d],e.setZIndexOffset(1e6),e.setOpacity(0),e._noHas=!0,L.FeatureGroup.prototype.addLayer.call(i,e),delete e._noHas,e._setPos(k);i._forceLayout(),i._animationStart();var l=L.Path.SVG?0:.3,m=L.Path.SVG_NS;for(d=a.length-1;d>=0;d--)if(g=j.layerPointToLatLng(c[d]),e=a[d],e._preSpiderfyLatlng=e._latlng,e.setLatLng(g),e.setOpacity(1),f=new L.Polyline([h._latlng,g],{weight:1.5,color:"#222",opacity:l}),j.addLayer(f),e._spiderLeg=f,L.Path.SVG&&this.SVG_ANIMATION){var n=f._path.getTotalLength();f._path.setAttribute("stroke-dasharray",n+","+n);var o=b.c
reateElementNS(m,"animate");o.setAttribute("attributeName","stroke-dashoffset"),o.setAttribute("begin","indefinite"),o.setAttribute("from",n),o.setAttribute("to",0),o.setAttribute("dur",.25),f._path.appendChild(o),o.beginElement(),o=b.createElementNS(m,"animate"),o.setAttribute("attributeName","stroke-opacity"),o.setAttribute("attributeName","stroke-opacity"),o.setAttribute("begin","indefinite"),o.setAttribute("from",0),o.setAttribute("to",.5),o.setAttribute("dur",.25),f._path.appendChild(o),o.beginElement()}if(h.setOpacity(.3),L.Path.SVG)for(this._group._forceLayout(),d=a.length-1;d>=0;d--)e=a[d]._spiderLeg,e.options.opacity=.5,e._path.setAttribute("stroke-opacity",.5);setTimeout(function(){i._animationEnd(),i.fire("spiderfied")},200)},_animationUnspiderfy:function(a){var b,c,d,e=this._group,f=e._map,g=a?f._latLngToNewLayerPoint(this._latlng,a.zoom,a.center):f.latLngToLayerPoint(this._latlng),h=this.getAllChildMarkers(),i=L.Path.SVG&&this.SVG_ANIMATION;for(e._animationStart(),this.
setOpacity(1),c=h.length-1;c>=0;c--)b=h[c],b._preSpiderfyLatlng&&(b.setLatLng(b._preSpiderfyLatlng),delete b._preSpiderfyLatlng,b._setPos(g),b.setOpacity(0),i&&(d=b._spiderLeg._path.childNodes[0],d.setAttribute("to",d.getAttribute("from")),d.setAttribute("from",0),d.beginElement(),d=b._spiderLeg._path.childNodes[1],d.setAttribute("from",.5),d.setAttribute("to",0),d.setAttribute("stroke-opacity",0),d.beginElement(),b._spiderLeg._path.setAttribute("stroke-opacity",0)));setTimeout(function(){var a=0;for(c=h.length-1;c>=0;c--)b=h[c],b._spiderLeg&&a++;for(c=h.length-1;c>=0;c--)b=h[c],b._spiderLeg&&(b.setOpacity(1),b.setZIndexOffset(0),a>1&&L.FeatureGroup.prototype.removeLayer.call(e,b),f.removeLayer(b._spiderLeg),delete b._spiderLeg);e._animationEnd()},200)}}:{_animationSpiderfy:function(a,b){var c,d,e,f,g=this._group,h=g._map;for(c=a.length-1;c>=0;c--)f=h.layerPointToLatLng(b[c]),d=a[c],d._preSpiderfyLatlng=d._latlng,d.setLatLng(f),d.setZIndexOffset(1e6),L.FeatureGroup.prototype.addLaye
r.call(g,d),e=new L.Polyline([this._latlng,f],{weight:1.5,color:"#222"}),h.addLayer(e),d._spiderLeg=e;this.setOpacity(.3),g.fire("spiderfied")},_animationUnspiderfy:function(){this._noanimationUnspiderfy()}}),L.MarkerClusterGroup.include({_spiderfied:null,_spiderfierOnAdd:function(){this._map.on("click",this._unspiderfyWrapper,this),this._map.options.zoomAnimation?this._map.on("zoomstart",this._unspiderfyZoomStart,this):this._map.on("zoomend",this._unspiderfyWrapper,this),L.Path.SVG&&!L.Browser.touch&&this._map._initPathRoot()},_spiderfierOnRemove:function(){this._map.off("click",this._unspiderfyWrapper,this),this._map.off("zoomstart",this._unspiderfyZoomStart,this),this._map.off("zoomanim",this._unspiderfyZoomAnim,this),this._unspiderfy()},_unspiderfyZoomStart:function(){this._map&&this._map.on("zoomanim",this._unspiderfyZoomAnim,this)},_unspiderfyZoomAnim:function(a){L.DomUtil.hasClass(this._map._mapPane,"leaflet-touching")||(this._map.off("zoomanim",this._unspiderfyZoomAnim,this)
,this._unspiderfy(a))},_unspiderfyWrapper:function(){this._unspiderfy()},_unspiderfy:function(a){this._spiderfied&&this._spiderfied.unspiderfy(a)},_noanimationUnspiderfy:function(){this._spiderfied&&this._spiderfied._noanimationUnspiderfy()},_unspiderfyLayer:function(a){a._spiderLeg&&(L.FeatureGroup.prototype.removeLayer.call(this,a),a.setOpacity(1),a.setZIndexOffset(0),this._map.removeLayer(a._spiderLeg),delete a._spiderLeg)}})}(window,document),function(){L.labelVersion="0.1.4-dev",L.Label=L.Popup.extend({options:{autoPan:!1,className:"",closePopupOnClick:!1,noHide:!1,offset:new L.Point(12,-15),opacity:1},onAdd:function(a){this._map=a,this._pane=this._source instanceof L.Marker?a._panes.markerPane:a._panes.popupPane,this._container||this._initLayout(),this._updateContent();var b=a.options.fadeAnimation;b&&L.DomUtil.setOpacity(this._container,0),this._pane.appendChild(this._container),a.on("viewreset",this._updatePosition,this),this._animated&&a.on("zoomanim",this._zoomAnimation,th
is),L.Browser.touch&&!this.options.noHide&&L.DomEvent.on(this._container,"click",this.close,this),this._update(),this.setOpacity(this.options.opacity)},onRemove:function(a){this._pane.removeChild(this._container),L.Util.falseFn(this._container.offsetWidth),a.off({viewreset:this._updatePosition,zoomanim:this._zoomAnimation},this),a.options.fadeAnimation&&L.DomUtil.setOpacity(this._container,0),this._map=null},close:function(){var a=this._map;a&&(L.Browser.touch&&!this.options.noHide&&L.DomEvent.off(this._container,"click",this.close),a._label=null,a.removeLayer(this))},updateZIndex:function(a){this._zIndex=a,this._container&&this._zIndex&&(this._container.style.zIndex=a)},setOpacity:function(a){this.options.opacity=a,this._container&&L.DomUtil.setOpacity(this._container,a)},_initLayout:function(){this._container=L.DomUtil.create("div","leaflet-label "+this.options.className+" leaflet-zoom-animated"),this.updateZIndex(this._zIndex)},_updateContent:function(){this._content&&"string"==t
ypeof this._content&&(this._container.innerHTML=this._content)},_updateLayout:function(){},_updatePosition:function(){var a=this._map.latLngToLayerPoint(this._latlng);this._setPosition(a)},_setPosition:function(a){a=a.add(this.options.offset),L.DomUtil.setPosition(this._container,a)},_zoomAnimation:function(a){var b=this._map._latLngToNewLayerPoint(this._latlng,a.zoom,a.center);this._setPosition(b)}}),L.Icon.Default.mergeOptions({labelAnchor:new L.Point(9,-20)}),L.Marker.mergeOptions({icon:new L.Icon.Default}),L.Marker.include({showLabel:function(){return this._label&&this._map&&(this._label.setLatLng(this._latlng),this._map.showLabel(this._label)),this},hideLabel:function(){return this._label&&this._label.close(),this},setLabelNoHide:function(a){this._labelNoHide!==a&&(this._labelNoHide=a,a?(this._removeLabelRevealHandlers(),this.showLabel()):(this._addLabelRevealHandlers(),this.hideLabel()))},bindLabel:function(a,b){var c=L.point(this.options.icon.options.labelAnchor)||new L.Point
(0,0);return c=c.add(L.Label.prototype.options.offset),b&&b.offset&&(c=c.add(b.offset)),b=L.Util.extend({offset:c},b),this._labelNoHide=b.noHide,this._label||(this._labelNoHide||this._addLabelRevealHandlers(),this.on("remove",this.hideLabel,this).on("move",this._moveLabel,this),this._hasLabelHandlers=!0),this._label=new L.Label(b,this).setContent(a),this},unbindLabel:function(){return this._label&&(this.hideLabel(),this._label=null,this._hasLabelHandlers&&(this._labelNoHide||this._removeLabelRevealHandlers(),this.off("remove",this.hideLabel,this).off("move",this._moveLabel,this)),this._hasLabelHandlers=!1),this},updateLabelContent:function(a){this._label&&this._label.setContent(a)},_addLabelRevealHandlers:function(){this.on("mouseover",this.showLabel,this).on("mouseout",this.hideLabel,this),L.Browser.touch&&this.on("click",this.showLabel,this)},_removeLabelRevealHandlers:function(){this.off("mouseover",this.showLabel,this).off("mouseout",this.hideLabel,this).off("remove",this.hideLa
bel,this).off("move",this._moveLabel,this),L.Browser.touch&&this.off("click",this.showLabel,this)},_moveLabel:function(a){this._label.setLatLng(a.latlng)},_originalUpdateZIndex:L.Marker.prototype._updateZIndex,_updateZIndex:function(a){var b=this._zIndex+a;this._originalUpdateZIndex(a),this._label&&this._label.updateZIndex(b)},_originalSetOpacity:L.Marker.prototype.setOpacity,setOpacity:function(a,b){this.options.labelHasSemiTransparency=b,this._originalSetOpacity(a)},_originalUpdateOpacity:L.Marker.prototype._updateOpacity,_updateOpacity:function(){var a=0===this.options.opacity?0:1;this._originalUpdateOpacity(),this._label&&this._label.setOpacity(this.options.labelHasSemiTransparency?this.options.opacity:a)}}),L.Path.include({bindLabel:function(a,b){return this._label&&this._label.options===b||(this._label=new L.Label(b,this)),this._label.setContent(a),this._showLabelAdded||(this.on("mouseover",this._showLabel,this).on("mousemove",this._moveLabel,this).on("mouseout remove",this._h
ideLabel,this),L.Browser.touch&&this.on("click",this._showLabel,this),this._showLabelAdded=!0),this},unbindLabel:function(){return this._label&&(this._hideLabel(),this._label=null,this._showLabelAdded=!1,this.off("mouseover",this._showLabel,this).off("mousemove",this._moveLabel,this).off("mouseout remove",this._hideLabel,this)),this},updateLabelContent:function(a){this._label&&this._label.setContent(a)},_showLabel:function(a){this._label.setLatLng(a.latlng),this._map.showLabel(this._label)},_moveLabel:function(a){this._label.setLatLng(a.latlng)},_hideLabel:function(){this._label.close()}}),L.Map.include({showLabel:function(a){return this._label=a,this.addLayer(a)}}),L.FeatureGroup.include({clearLayers:function(){return this.unbindLabel(),this.eachLayer(this.removeLayer,this),this},bindLabel:function(a,b){return this.invoke("bindLabel",a,b)},unbindLabel:function(){return this.invoke("unbindLabel")},updateLabelContent:function(a){this.invoke("updateLabelContent",a)}})}(this,document);
\ No newline at end of file
+/*
+ Leaflet.label, a plugin that adds labels to markers and vectors for Leaflet powered maps.
+ (c) 2012-2013, Jacob Toye, Smartrak
+
+ https://github.com/Leaflet/Leaflet.label
+ http://leafletjs.com
+ https://github.com/jacobtoye
+*/
+(function(){L.labelVersion="0.1.4-dev",L.Label=L.Popup.extend({options:{autoPan:!1,className:"",closePopupOnClick:!1,noHide:!1,offset:new L.Point(12,-15),opacity:1},onAdd:function(t){this._map=t,this._pane=this._source instanceof L.Marker?t._panes.markerPane:t._panes.popupPane,this._container||this._initLayout(),this._updateContent();var e=t.options.fadeAnimation;e&&L.DomUtil.setOpacity(this._container,0),this._pane.appendChild(this._container),t.on("viewreset",this._updatePosition,this),this._animated&&t.on("zoomanim",this._zoomAnimation,this),L.Browser.touch&&!this.options.noHide&&L.DomEvent.on(this._container,"click",this.close,this),this._update(),this.setOpacity(this.options.opacity)},onRemove:function(t){this._pane.removeChild(this._container),L.Util.falseFn(this._container.offsetWidth),t.off({viewreset:this._updatePosition,zoomanim:this._zoomAnimation},this),t.options.fadeAnimation&&L.DomUtil.setOpacity(this._container,0),this._map=null},close:function(){var t=this._map;t&&(L
.Browser.touch&&!this.options.noHide&&L.DomEvent.off(this._container,"click",this.close),t._label=null,t.removeLayer(this))},updateZIndex:function(t){this._zIndex=t,this._container&&this._zIndex&&(this._container.style.zIndex=t)},setOpacity:function(t){this.options.opacity=t,this._container&&L.DomUtil.setOpacity(this._container,t)},_initLayout:function(){this._container=L.DomUtil.create("div","leaflet-label "+this.options.className+" leaflet-zoom-animated"),this.updateZIndex(this._zIndex)},_updateContent:function(){this._content&&"string"==typeof this._content&&(this._container.innerHTML=this._content)},_updateLayout:function(){},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},_setPosition:function(t){t=t.add(this.options.offset),L.DomUtil.setPosition(this._container,t)},_zoomAnimation:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(e)}}),L.Icon.Default.mergeOptions({labelAnchor:new
L.Point(9,-20)}),L.Marker.mergeOptions({icon:new L.Icon.Default}),L.Marker.include({showLabel:function(){return this._label&&this._map&&(this._label.setLatLng(this._latlng),this._map.showLabel(this._label)),this},hideLabel:function(){return this._label&&this._label.close(),this},setLabelNoHide:function(t){this._labelNoHide!==t&&(this._labelNoHide=t,t?(this._removeLabelRevealHandlers(),this.showLabel()):(this._addLabelRevealHandlers(),this.hideLabel()))},bindLabel:function(t,e){var i=L.point(this.options.icon.options.labelAnchor)||new L.Point(0,0);return i=i.add(L.Label.prototype.options.offset),e&&e.offset&&(i=i.add(e.offset)),e=L.Util.extend({offset:i},e),this._labelNoHide=e.noHide,this._label||(this._labelNoHide||this._addLabelRevealHandlers(),this.on("remove",this.hideLabel,this).on("move",this._moveLabel,this),this._hasLabelHandlers=!0),this._label=new L.Label(e,this).setContent(t),this},unbindLabel:function(){return this._label&&(this.hideLabel(),this._label=null,this._hasLabel
Handlers&&(this._labelNoHide||this._removeLabelRevealHandlers(),this.off("remove",this.hideLabel,this).off("move",this._moveLabel,this)),this._hasLabelHandlers=!1),this},updateLabelContent:function(t){this._label&&this._label.setContent(t)},_addLabelRevealHandlers:function(){this.on("mouseover",this.showLabel,this).on("mouseout",this.hideLabel,this),L.Browser.touch&&this.on("click",this.showLabel,this)},_removeLabelRevealHandlers:function(){this.off("mouseover",this.showLabel,this).off("mouseout",this.hideLabel,this).off("remove",this.hideLabel,this).off("move",this._moveLabel,this),L.Browser.touch&&this.off("click",this.showLabel,this)},_moveLabel:function(t){this._label.setLatLng(t.latlng)},_originalUpdateZIndex:L.Marker.prototype._updateZIndex,_updateZIndex:function(t){var e=this._zIndex+t;this._originalUpdateZIndex(t),this._label&&this._label.updateZIndex(e)},_originalSetOpacity:L.Marker.prototype.setOpacity,setOpacity:function(t,e){this.options.labelHasSemiTransparency=e,this._
originalSetOpacity(t)},_originalUpdateOpacity:L.Marker.prototype._updateOpacity,_updateOpacity:function(){var t=0===this.options.opacity?0:1;this._originalUpdateOpacity(),this._label&&this._label.setOpacity(this.options.labelHasSemiTransparency?this.options.opacity:t)}}),L.Path.include({bindLabel:function(t,e){return this._label&&this._label.options===e||(this._label=new L.Label(e,this)),this._label.setContent(t),this._showLabelAdded||(this.on("mouseover",this._showLabel,this).on("mousemove",this._moveLabel,this).on("mouseout remove",this._hideLabel,this),L.Browser.touch&&this.on("click",this._showLabel,this),this._showLabelAdded=!0),this},unbindLabel:function(){return this._label&&(this._hideLabel(),this._label=null,this._showLabelAdded=!1,this.off("mouseover",this._showLabel,this).off("mousemove",this._moveLabel,this).off("mouseout remove",this._hideLabel,this)),this},updateLabelContent:function(t){this._label&&this._label.setContent(t)},_showLabel:function(t){this._label.setLatLn
g(t.latlng),this._map.showLabel(this._label)},_moveLabel:function(t){this._label.setLatLng(t.latlng)},_hideLabel:function(){this._label.close()}}),L.Map.include({showLabel:function(t){return this._label=t,this.addLayer(t)}}),L.FeatureGroup.include({clearLayers:function(){return this.unbindLabel(),this.eachLayer(this.removeLayer,this),this},bindLabel:function(t,e){return this.invoke("bindLabel",t,e)},unbindLabel:function(){return this.invoke("unbindLabel")},updateLabelContent:function(t){this.invoke("updateLabelContent",t)}})})(this,document);
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/a24aae9b/kibana/src/main/resources/app/panels/bettermap/leaflet/providers.js
----------------------------------------------------------------------
diff --git a/kibana/src/main/resources/app/panels/bettermap/leaflet/providers.js b/kibana/src/main/resources/app/panels/bettermap/leaflet/providers.js
new file mode 100644
index 0000000..52be570
--- /dev/null
+++ b/kibana/src/main/resources/app/panels/bettermap/leaflet/providers.js
@@ -0,0 +1,479 @@
+// <https://github.com/leaflet-extras/leaflet-providers>
+// <https://github.com/htoooth/Leaflet.ChineseTmsProviders>
+(function () {
+ 'use strict';
+
+ L.TileLayer.Provider = L.TileLayer.extend({
+ initialize: function (arg, options) {
+ var providers = L.TileLayer.Provider.providers;
+
+ var parts = arg.split('.');
+
+ var providerName = parts[0];
+ var variantName = parts[1];
+
+ if (!providers[providerName]) {
+ throw 'No such provider (' + providerName + ')';
+ }
+
+ var provider = {
+ url: providers[providerName].url,
+ options: providers[providerName].options
+ };
+
+ // overwrite values in provider from variant.
+ if (variantName && 'variants' in providers[providerName]) {
+ if (!(variantName in providers[providerName].variants)) {
+ throw 'No such variant of ' + providerName + '.' + variantName;
+ }
+ var variant = providers[providerName].variants[variantName];
+ var variantOptions;
+ if (typeof variant === 'string') {
+ variantOptions = {
+ variant: variant
+ };
+ } else {
+ variantOptions = variant.options;
+ }
+ provider = {
+ url: variant.url || provider.url,
+ options: L.Util.extend({}, provider.options, variantOptions)
+ };
+ } else if (typeof provider.url === 'function') {
+ provider.url = provider.url(parts.splice(1, parts.length - 1).join('.'));
+ }
+
+ // replace attribution placeholders with their values from toplevel provider attribution,
+ // recursively
+ var attributionReplacer = function (attr) {
+ if (attr.indexOf('{attribution.') === -1) {
+ return attr;
+ }
+ return attr.replace(/\{attribution.(\w*)\}/,
+ function (match, attributionName) {
+ return attributionReplacer(providers[attributionName].options.attribution);
+ }
+ );
+ };
+ provider.options.attribution = attributionReplacer(provider.options.attribution);
+
+ // Compute final options combining provider options with any user overrides
+ var layerOpts = L.Util.extend({}, provider.options, options);
+ console.log(provider.url, layerOpts);
+ L.TileLayer.prototype.initialize.call(this, provider.url, layerOpts);
+ }
+ });
+
+ /**
+ * Definition of providers.
+ * see http://leafletjs.com/reference.html#tilelayer for options in the options map.
+ */
+
+ //jshint maxlen:220
+ L.TileLayer.Provider.providers = {
+ OpenStreetMap: {
+ url: 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
+ options: {
+ attribution:
+ '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
+ },
+ variants: {
+ Mapnik: {},
+ BlackAndWhite: {
+ url: 'http://{s}.www.toolserver.org/tiles/bw-mapnik/{z}/{x}/{y}.png'
+ },
+ DE: {
+ url: 'http://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png'
+ },
+ HOT: {
+ url: 'http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png',
+ options: {
+ attribution: '{attribution.OpenStreetMap}, Tiles courtesy of <a href="http://hot.openstreetmap.org/" target="_blank">Humanitarian OpenStreetMap Team</a>'
+ }
+ }
+ }
+ },
+ OpenSeaMap: {
+ url: 'http://tiles.openseamap.org/seamark/{z}/{x}/{y}.png',
+ options: {
+ attribution: 'Map data: © <a href="http://www.openseamap.org">OpenSeaMap</a> contributors'
+ }
+ },
+ Thunderforest: {
+ url: 'http://{s}.tile.thunderforest.com/{variant}/{z}/{x}/{y}.png',
+ options: {
+ attribution:
+ '© <a href="http://www.opencyclemap.org">OpenCycleMap</a>, {attribution.OpenStreetMap}',
+ variant: 'cycle'
+ },
+ variants: {
+ OpenCycleMap: 'cycle',
+ Transport: 'transport',
+ Landscape: 'landscape',
+ Outdoors: 'outdoors'
+ }
+ },
+ OpenMapSurfer: {
+ url: 'http://openmapsurfer.uni-hd.de/tiles/{variant}/x={x}&y={y}&z={z}',
+ options: {
+ minZoom: 0,
+ maxZoom: 20,
+ variant: 'roads',
+ attribution: 'Imagery from <a href="http://giscience.uni-hd.de/">GIScience Research Group @ University of Heidelberg</a> — Map data {attribution.OpenStreetMap}'
+ },
+ variants: {
+ Roads: 'roads',
+ AdminBounds: {
+ options: {
+ variant: 'adminb',
+ maxZoom: 19
+ }
+ },
+ Grayscale: {
+ options: {
+ variant: 'roadsg',
+ maxZoom: 19
+ }
+ }
+ }
+ },
+ Hydda: {
+ url: 'http://{s}.tile.openstreetmap.se/hydda/{variant}/{z}/{x}/{y}.png',
+ options: {
+ minZoom: 0,
+ maxZoom: 18,
+ variant: 'full',
+ attribution: 'Tiles courtesy of <a href="http://openstreetmap.se/" target="_blank">OpenStreetMap Sweden</a> — Map data {attribution.OpenStreetMap}'
+ },
+ variants: {
+ Full: 'full',
+ Base: 'base',
+ RoadsAndLabels: 'roads_and_labels',
+ }
+ },
+ MapQuestOpen: {
+ url: 'http://otile{s}.mqcdn.com/tiles/1.0.0/map/{z}/{x}/{y}.jpeg',
+ options: {
+ attribution:
+ 'Tiles Courtesy of <a href="http://www.mapquest.com/">MapQuest</a> — ' +
+ 'Map data {attribution.OpenStreetMap}',
+ subdomains: '1234'
+ },
+ variants: {
+ OSM: {},
+ Aerial: {
+ url: 'http://oatile{s}.mqcdn.com/tiles/1.0.0/sat/{z}/{x}/{y}.jpg',
+ options: {
+ attribution:
+ 'Tiles Courtesy of <a href="http://www.mapquest.com/">MapQuest</a> — ' +
+ 'Portions Courtesy NASA/JPL-Caltech and U.S. Depart. of Agriculture, Farm Service Agency'
+ }
+ }
+ }
+ },
+ MapBox: {
+ url: function (id) {
+ return 'http://{s}.tiles.mapbox.com/v3/' + id + '/{z}/{x}/{y}.png';
+ },
+ options: {
+ attribution:
+ 'Imagery from <a href="http://mapbox.com/about/maps/">MapBox</a> — ' +
+ 'Map data {attribution.OpenStreetMap}',
+ subdomains: 'abcd'
+ }
+ },
+ Stamen: {
+ url: 'http://{s}.tile.stamen.com/{variant}/{z}/{x}/{y}.png',
+ options: {
+ attribution:
+ 'Map tiles by <a href="http://stamen.com">Stamen Design</a>, ' +
+ '<a href="http://creativecommons.org/licenses/by/3.0">CC BY 3.0</a> — ' +
+ 'Map data {attribution.OpenStreetMap}',
+ subdomains: 'abcd',
+ minZoom: 0,
+ maxZoom: 20,
+ variant: 'toner'
+ },
+ variants: {
+ Toner: 'toner',
+ TonerBackground: 'toner-background',
+ TonerHybrid: 'toner-hybrid',
+ TonerLines: 'toner-lines',
+ TonerLabels: 'toner-labels',
+ TonerLite: 'toner-lite',
+ Terrain: {
+ options: {
+ variant: 'terrain',
+ minZoom: 4,
+ maxZoom: 18
+ }
+ },
+ TerrainBackground: {
+ options: {
+ variant: 'terrain-background',
+ minZoom: 4,
+ maxZoom: 18
+ }
+ },
+ Watercolor: {
+ options: {
+ variant: 'watercolor',
+ minZoom: 1,
+ maxZoom: 16
+ }
+ }
+ }
+ },
+ Esri: {
+ url: 'http://server.arcgisonline.com/ArcGIS/rest/services/{variant}/MapServer/tile/{z}/{y}/{x}',
+ options: {
+ variant: 'World_Street_Map',
+ attribution: 'Tiles © Esri'
+ },
+ variants: {
+ WorldStreetMap: {
+ options: {
+ attribution:
+ '{attribution.Esri} — ' +
+ 'Source: Esri, DeLorme, NAVTEQ, USGS, Intermap, iPC, NRCAN, Esri Japan, METI, Esri China (Hong Kong), Esri (Thailand), TomTom, 2012'
+ }
+ },
+ DeLorme: {
+ options: {
+ variant: 'Specialty/DeLorme_World_Base_Map',
+ minZoom: 1,
+ maxZoom: 11,
+ attribution: '{attribution.Esri} — Copyright: ©2012 DeLorme'
+ }
+ },
+ WorldTopoMap: {
+ options: {
+ variant: 'World_Topo_Map',
+ attribution:
+ '{attribution.Esri} — ' +
+ 'Esri, DeLorme, NAVTEQ, TomTom, Intermap, iPC, USGS, FAO, NPS, NRCAN, GeoBase, Kadaster NL, Ordnance Survey, Esri Japan, METI, Esri China (Hong Kong), and the GIS User Community'
+ }
+ },
+ WorldImagery: {
+ options: {
+ variant: 'World_Imagery',
+ attribution:
+ '{attribution.Esri} — ' +
+ 'Source: Esri, i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community'
+ }
+ },
+ WorldTerrain: {
+ options: {
+ variant: 'World_Terrain_Base',
+ maxZoom: 13,
+ attribution:
+ '{attribution.Esri} — ' +
+ 'Source: USGS, Esri, TANA, DeLorme, and NPS'
+ }
+ },
+ WorldShadedRelief: {
+ options: {
+ variant: 'World_Shaded_Relief',
+ maxZoom: 13,
+ attribution: '{attribution.Esri} — Source: Esri'
+ }
+ },
+ WorldPhysical: {
+ options: {
+ variant: 'World_Physical_Map',
+ maxZoom: 8,
+ attribution: '{attribution.Esri} — Source: US National Park Service'
+ }
+ },
+ OceanBasemap: {
+ options: {
+ variant: 'Ocean_Basemap',
+ maxZoom: 13,
+ attribution: '{attribution.Esri} — Sources: GEBCO, NOAA, CHS, OSU, UNH, CSUMB, National Geographic, DeLorme, NAVTEQ, and Esri'
+ }
+ },
+ NatGeoWorldMap: {
+ options: {
+ variant: 'NatGeo_World_Map',
+ maxZoom: 16,
+ attribution: '{attribution.Esri} — National Geographic, Esri, DeLorme, NAVTEQ, UNEP-WCMC, USGS, NASA, ESA, METI, NRCAN, GEBCO, NOAA, iPC'
+ }
+ },
+ WorldGrayCanvas: {
+ options: {
+ variant: 'Canvas/World_Light_Gray_Base',
+ maxZoom: 16,
+ attribution: '{attribution.Esri} — Esri, DeLorme, NAVTEQ'
+ }
+ }
+ }
+ },
+ OpenWeatherMap: {
+ url: 'http://{s}.tile.openweathermap.org/map/{variant}/{z}/{x}/{y}.png',
+ options: {
+ attribution: 'Map data © <a href="http://openweathermap.org">OpenWeatherMap</a>',
+ opacity: 0.5
+ },
+ variants: {
+ Clouds: 'clouds',
+ CloudsClassic: 'clouds_cls',
+ Precipitation: 'precipitation',
+ PrecipitationClassic: 'precipitation_cls',
+ Rain: 'rain',
+ RainClassic: 'rain_cls',
+ Pressure: 'pressure',
+ PressureContour: 'pressure_cntr',
+ Wind: 'wind',
+ Temperature: 'temp',
+ Snow: 'snow'
+ }
+ },
+ HERE: {
+ /*
+ * HERE maps, formerly Nokia maps.
+ * These basemaps are free, but you need an API key. Please sign up at
+ * http://developer.here.com/getting-started
+ *
+ * Note that the base urls contain '.cit' whichs is HERE's
+ * 'Customer Integration Testing' environment. Please remove for production
+ * envirionments.
+ */
+ url:
+ 'http://{s}.{base}.maps.cit.api.here.com/maptile/2.1/' +
+ 'maptile/{mapID}/{variant}/{z}/{x}/{y}/256/png8?' +
+ 'app_id={app_id}&app_code={app_code}',
+ options: {
+ attribution:
+ 'Map © 1987-2014 <a href="http://developer.here.com">HERE</a>',
+ subdomains: '1234',
+ mapID: 'newest',
+ 'app_id': '<insert your app_id here>',
+ 'app_code': '<insert your app_code here>',
+ base: 'base',
+ variant: 'normal.day',
+ minZoom: 0,
+ maxZoom: 20
+ },
+ variants: {
+ normalDay: 'normal.day',
+ normalDayCustom: 'normal.day.custom',
+ normalDayGrey: 'normal.day.grey',
+ normalDayMobile: 'normal.day.mobile',
+ normalDayGreyMobile: 'normal.day.grey.mobile',
+ normalDayTransit: 'normal.day.transit',
+ normalDayTransitMobile: 'normal.day.transit.mobile',
+ normalNight: 'normal.night',
+ normalNightMobile: 'normal.night.mobile',
+ normalNightGrey: 'normal.night.grey',
+ normalNightGreyMobile: 'normal.night.grey.mobile',
+
+ carnavDayGrey: 'carnav.day.grey',
+ hybridDay: {
+ options: {
+ base: 'aerial',
+ variant: 'hybrid.day'
+ }
+ },
+ hybridDayMobile: {
+ options: {
+ base: 'aerial',
+ variant: 'hybrid.day.mobile'
+ }
+ },
+ pedestrianDay: 'pedestrian.day',
+ pedestrianNight: 'pedestrian.night',
+ satelliteDay: {
+ options: {
+ base: 'aerial',
+ variant: 'satellite.day'
+ }
+ },
+ terrainDay: {
+ options: {
+ base: 'aerial',
+ variant: 'terrain.day'
+ }
+ },
+ terrainDayMobile: {
+ options: {
+ base: 'aerial',
+ variant: 'terrain.day.mobile'
+ }
+ }
+ }
+ },
+ Acetate: {
+ url: 'http://a{s}.acetate.geoiq.com/tiles/{variant}/{z}/{x}/{y}.png',
+ options: {
+ attribution:
+ '©2012 Esri & Stamen, Data from OSM and Natural Earth',
+ subdomains: '0123',
+ minZoom: 2,
+ maxZoom: 18,
+ variant: 'acetate-base'
+ },
+ variants: {
+ basemap: 'acetate-base',
+ terrain: 'terrain',
+ all: 'acetate-hillshading',
+ foreground: 'acetate-fg',
+ roads: 'acetate-roads',
+ labels: 'acetate-labels',
+ hillshading: 'hillshading'
+ }
+ },
+ FreeMapSK: {
+ url: 'http://{s}.freemap.sk/T/{z}/{x}/{y}.jpeg',
+ options: {
+ minZoom: 8,
+ maxZoom: 16,
+ subdomains: ['t1', 't2', 't3', 't4'],
+ attribution:
+ '{attribution.OpenStreetMap}, vizualization CC-By-SA 2.0 <a href="http://freemap.sk">Freemap.sk</a>'
+ }
+ },
+ MtbMap: {
+ url: 'http://tile.mtbmap.cz/mtbmap_tiles/{z}/{x}/{y}.png',
+ options: {
+ attribution:
+ '{attribution.OpenStreetMap} & USGS'
+ }
+ },
+ TianDiTu: {
+ url: "http://t{s}.tianditu.cn/DataServer?T=vec_w&X={x}&Y={y}&L={z}",
+ options: {
+ subdomains:['0','1','2','3','4','5','6','7']
+ },
+ variants: {
+ Satellite: {
+ url: "http://t{s}.tianditu.cn/DataServer?T=img_w&X={x}&Y={y}&L={z}"
+ },
+ Terrain: {
+ url: "http://t{s}.tianditu.cn/DataServer?T=ter_w&X={x}&Y={y}&L={z}"
+ }
+ }
+ },
+ MapABC: {
+ url: 'http://emap{s}.mapabc.com/mapabc/maptile?&x={x}&y={y}&z={z}',
+ options: {
+ subdomains:["0","1","2","3"]
+ }
+ },
+ GaoDe: {
+ url: 'http://webrd0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}',
+ options: {
+ subdomains:["1","2","3","4"],
+ attribution: '高德地图'
+ },
+ variants: {
+ Satellite:{
+ url: 'http://webst0{s}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}'
+ }
+ }
+ }
+ };
+
+ L.tileLayer.provider = function (provider, options) {
+ return new L.TileLayer.Provider(provider, options);
+ };
+}());
http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/a24aae9b/kibana/src/main/resources/app/panels/bettermap/module.css
----------------------------------------------------------------------
diff --git a/kibana/src/main/resources/app/panels/bettermap/module.css b/kibana/src/main/resources/app/panels/bettermap/module.css
index 790cf01..b0e0969 100644
--- a/kibana/src/main/resources/app/panels/bettermap/module.css
+++ b/kibana/src/main/resources/app/panels/bettermap/module.css
@@ -1 +1,4 @@
-.leaflet-marker-icon{color:#333}
\ No newline at end of file
+/** custom additions **/
+.leaflet-marker-icon {
+ color: #333;
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/karaf-decanter/blob/a24aae9b/kibana/src/main/resources/app/panels/bettermap/module.html
----------------------------------------------------------------------
diff --git a/kibana/src/main/resources/app/panels/bettermap/module.html b/kibana/src/main/resources/app/panels/bettermap/module.html
index 38af473..f63d8c7 100644
--- a/kibana/src/main/resources/app/panels/bettermap/module.html
+++ b/kibana/src/main/resources/app/panels/bettermap/module.html
@@ -1,3 +1,11 @@
-<div ng-controller="bettermap" ng-init="init()"><style>.leaflet-label {
+<div ng-controller='bettermap' ng-init="init()">
+ <style>
+ .leaflet-label {
color: #fff;
- }</style><div style="padding-right:10px;padding-top:10px;height:{{panel.height|| row.height}};overflow:hidden"><div bettermap="" id="{{$id}}" params="{{panel}}" style="height:100%"></div></div></div>
\ No newline at end of file
+ }
+ </style>
+ <!-- This solution might work well for other panels that have trouble with heights -->
+ <div style="padding-right:10px;padding-top:10px;height:{{panel.height|| row.height}};overflow:hidden">
+ <div bettermap id="{{$id}}" params="{{panel}}" style="height:100%"></div>
+ </div>
+</div>
\ No newline at end of file