{"version":3,"file":"js/vendors-node_modules_leaflet-svgicon_index_js-node_modules_leaflet-tilelayer-here_leaflet-til-f2b2f4.js","mappings":";;;;;;;;AAAA;AACA;AACA;AACA;;;;;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AC/LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;ACtKA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA","sources":["webpack://code/./node_modules/leaflet-svgicon/index.js","webpack://code/./node_modules/leaflet-svgicon/src/svg-icon.js","webpack://code/./node_modules/leaflet-tilelayer-here/leaflet-tilelayer-here.js","webpack://code/./node_modules/leaflet.featuregroup.subgroup/dist/leaflet.featuregroup.subgroup.js"],"sourcesContent":["var Lib = require('./src/svg-icon');\n\nexports.SVGIcon = Lib.SVGIcon;\nexports.SVGMarker = Lib.SVGMarker;\n","var SVGIcon = L.DivIcon.extend({\n options: {\n \"circleText\": \"\",\n \"className\": \"svg-icon\",\n \"circleAnchor\": null, //defaults to [iconSize.x/2, iconSize.x/2]\n \"circleColor\": null, //defaults to color\n \"circleOpacity\": null, // defaults to opacity\n \"circleFillColor\": \"rgb(255,255,255)\",\n \"circleFillOpacity\": null, //default to opacity\n \"circleRatio\": 0.5,\n \"circleWeight\": null, //defaults to weight\n \"color\": \"rgb(0,102,255)\",\n \"fillColor\": null, // defaults to color\n \"fillOpacity\": 0.4,\n \"fontColor\": \"rgb(0, 0, 0)\",\n \"fontOpacity\": \"1\",\n \"fontSize\": null, // defaults to iconSize.x/4\n \"iconAnchor\": null, //defaults to [iconSize.x/2, iconSize.y] (point tip)\n \"iconSize\": L.point(32,48),\n \"opacity\": 1,\n \"popupAnchor\": null,\n \"weight\": 2\n },\n initialize: function(options) {\n options = L.Util.setOptions(this, options)\n\n //iconSize needs to be converted to a Point object if it is not passed as one\n options.iconSize = L.point(options.iconSize)\n\n //in addition to setting option dependant defaults, Point-based options are converted to Point objects\n if (!options.circleAnchor) {\n options.circleAnchor = L.point(Number(options.iconSize.x)/2, Number(options.iconSize.x)/2)\n }\n else {\n options.circleAnchor = L.point(options.circleAnchor)\n }\n if (!options.circleColor) {\n options.circleColor = options.color\n }\n if (!options.circleFillOpacity) {\n options.circleFillOpacity = options.opacity\n }\n if (!options.circleOpacity) {\n options.circleOpacity = options.opacity\n }\n if (!options.circleWeight) {\n options.circleWeight = options.weight\n }\n if (!options.fillColor) {\n options.fillColor = options.color\n }\n if (!options.fontSize) {\n options.fontSize = Number(options.iconSize.x/4)\n }\n if (!options.iconAnchor) {\n options.iconAnchor = L.point(Number(options.iconSize.x)/2, Number(options.iconSize.y))\n }\n else {\n options.iconAnchor = L.point(options.iconAnchor)\n }\n if (!options.popupAnchor) {\n options.popupAnchor = L.point(0, (-0.75)*(options.iconSize.y))\n }\n else {\n options.popupAnchor = L.point(options.popupAnchor)\n }\n\n var path = this._createPath()\n var circle = this._createCircle()\n\n options.html = this._createSVG()\n },\n _createCircle: function() {\n var cx = Number(this.options.circleAnchor.x)\n var cy = Number(this.options.circleAnchor.y)\n var radius = this.options.iconSize.x/2 * Number(this.options.circleRatio)\n var fill = this.options.circleFillColor\n var fillOpacity = this.options.circleFillOpacity\n var stroke = this.options.circleColor\n var strokeOpacity = this.options.circleOpacity\n var strokeWidth = this.options.circleWeight\n var className = this.options.className + \"-circle\"\n\n var circle = ''\n\n return circle\n },\n _createPathDescription: function() {\n var height = Number(this.options.iconSize.y)\n var width = Number(this.options.iconSize.x)\n var weight = Number(this.options.weight)\n var margin = weight / 2\n\n var startPoint = \"M \" + margin + \" \" + (width/2) + \" \"\n var leftLine = \"L \" + (width/2) + \" \" + (height - weight) + \" \"\n var rightLine = \"L \" + (width - margin) + \" \" + (width/2) + \" \"\n var arc = \"A \" + (width/4) + \" \" + (width/4) + \" 0 0 0 \" + margin + \" \" + (width/2) + \" Z\"\n\n var d = startPoint + leftLine + rightLine + arc\n\n return d\n },\n _createPath: function() {\n var pathDescription = this._createPathDescription()\n var strokeWidth = this.options.weight\n var stroke = this.options.color\n var strokeOpacity = this.options.Opacity\n var fill = this.options.fillColor\n var fillOpacity = this.options.fillOpacity\n var className = this.options.className + \"-path\"\n\n var path = ''\n\n return path\n },\n _createSVG: function() {\n var path = this._createPath()\n var circle = this._createCircle()\n var text = this._createText()\n var className = this.options.className + \"-svg\"\n\n var style = \"width:\" + this.options.iconSize.x + \"px; height:\" + this.options.iconSize.y + \"px;\"\n\n var svg = '' + path + circle + text + ''\n\n return svg\n },\n _createText: function() {\n var fontSize = this.options.fontSize + \"px\"\n var lineHeight = Number(this.options.fontSize)\n\n var x = Number(this.options.iconSize.x) / 2\n var y = x + (lineHeight * 0.35) //35% was found experimentally\n var circleText = this.options.circleText\n var textColor = this.options.fontColor.replace(\"rgb(\", \"rgba(\").replace(\")\", \",\" + this.options.fontOpacity + \")\")\n\n var text = '' + circleText + ''\n\n return text\n }\n})\n\nvar SVGMarker = L.Marker.extend({\n options: {\n \"iconFactory\": SVGIcon,\n \"iconOptions\": {}\n },\n initialize: function(latlng, options) {\n options = L.Util.setOptions(this, options)\n options.icon = options.iconFactory(options.iconOptions)\n this._latlng = latlng\n },\n onAdd: function(map) {\n L.Marker.prototype.onAdd.call(this, map)\n },\n setStyle: function(style) {\n if (this._icon) {\n var svg = this._icon.children[0]\n var iconBody = this._icon.children[0].children[0]\n var iconCircle = this._icon.children[0].children[1]\n\n if (style.color && !style.iconOptions) {\n var stroke = style.color.replace(\"rgb\",\"rgba\").replace(\")\", \",\"+this.options.icon.options.opacity+\")\")\n var fill = style.color.replace(\"rgb\",\"rgba\").replace(\")\", \",\"+this.options.icon.options.fillOpacity+\")\")\n iconBody.setAttribute(\"stroke\", stroke)\n iconBody.setAttribute(\"fill\", fill)\n iconCircle.setAttribute(\"stroke\", stroke)\n\n this.options.icon.fillColor = fill\n this.options.icon.color = stroke\n this.options.icon.circleColor = stroke\n }\n if (style.opacity) {\n this.setOpacity(style.opacity)\n }\n if (style.iconOptions) {\n if (style.color) { style.iconOptions.color = style.color }\n var iconOptions = L.Util.setOptions(this.options.icon, style.iconOptions)\n this.setIcon(SVGIcon(iconOptions))\n }\n }\n }\n})\n\nmodule.exports = {\n SVGMarker: SVGMarker,\n SVGIcon: SVGIcon\n}\n","\n// class TileLayer.HERE\n// Tile layer for HERE maps tiles.\nL.TileLayer.HERE = L.TileLayer.extend({\n\n\toptions: {\n\t\tsubdomains: '1234',\n\t\tminZoom: 2,\n\t\tmaxZoom: 18,\n\n\t\t// option scheme: String = 'normal.day'\n\t\t// The \"map scheme\", as documented in the HERE API.\n\t\tscheme: 'normal.day',\n\n\t\t// option resource: String = 'maptile'\n\t\t// The \"map resource\", as documented in the HERE API.\n\t\tresource: 'maptile',\n\n\t\t// option mapId: String = 'newest'\n\t\t// Version of the map tiles to be used, or a hash of an unique map\n\t\tmapId: 'newest',\n\n\t\t// option format: String = 'png8'\n\t\t// Image format to be used (`png8`, `png`, or `jpg`)\n\t\tformat: 'png8',\n\n\t\t// Deprecated\n\t\t// option appId: String = ''\n\t\t// Optional option. The `app_id` provided as part of the HERE credentials\n\t\tappId: '',\n\n\t\t// Deprecated\n\t\t// option appCode: String = ''\n\t\t// Optional option. The `app_code` provided as part of the HERE credentials\n\t\tappCode: '',\n\n\t\t// option apiKey: String = ''\n\t\t// Required option. The `apiKey` provided as part of the HERE credentials\n\t\tapiKey: ''\n\t},\n\n\n\tinitialize: function initialize(options) {\n\t\toptions = L.setOptions(this, options);\n\n\t\t// Decide if this scheme uses the aerial servers or the basemap servers\n\t\tvar schemeStart = options.scheme.split('.')[0];\n\t\toptions.tileResolution = 256;\n\n\t\tif (L.Browser.retina) {\n\t\t\toptions.tileResolution = 512;\n\t\t}\n\n\t\t// \t\t{Base URL}{Path}/{resource (tile type)}/{map id}/{scheme}/{zoom}/{column}/{row}/{size}/{format}\n\t\t// \t\t?app_id={YOUR_APP_ID}\n\t\t// \t\t&app_code={YOUR_APP_CODE}\n\t\t// \t\t&{param}={value}\n\n\t\tvar path = '/{resource}/2.1/{resource}/{mapId}/{scheme}/{z}/{x}/{y}/{tileResolution}/{format}?apiKey={apiKey}&lg=por&ppi=72&pview=DEF';\n\t\tvar attributionPath = '/maptile/2.1/copyright/{mapId}?apiKey={apiKey}&lg=por&ppi=72&pview=DEF';\n\n\t\tvar tileServer = 'base.maps.ls.hereapi.com';\n\t\tif (schemeStart == 'satellite' ||\n\t\t\tschemeStart == 'terrain' ||\n\t\t\tschemeStart == 'hybrid') {\n\t\t\ttileServer = 'aerial.maps.ls.hereapi.com';\n\t\t}\n\t\tif (options.scheme.indexOf('.traffic.') !== -1) {\n\t\t\ttileServer = 'traffic.maps.ls.hereapi.com';\n\t\t}\n\n\t\tvar tileUrl = 'https://{s}.' + tileServer + path;\n\n\t\tthis._attributionUrl = L.Util.template('https://1.' + tileServer + attributionPath, this.options);\n\n\t\tL.TileLayer.prototype.initialize.call(this, tileUrl, options);\n\n\t\tthis._attributionText = '';\n\n\t},\n\n\tonAdd: function onAdd(map) {\n\t\tL.TileLayer.prototype.onAdd.call(this, map);\n\n\t\tif (!this._attributionBBoxes) {\n\t\t\tthis._fetchAttributionBBoxes();\n\t\t}\n\t},\n\n\tonRemove: function onRemove(map) {\n\t\tL.TileLayer.prototype.onRemove.call(this, map);\n\n\t\tif (this._map.attributionControl) {\n\t\t\tthis._map.attributionControl.removeAttribution(this._attributionText);\n\t\t}\n\n\t\tthis._map.off('moveend zoomend resetview', this._findCopyrightBBox, this);\n\t},\n\n\t_fetchAttributionBBoxes: function _onMapMove() {\n\t\tvar xmlhttp = new XMLHttpRequest();\n\t\txmlhttp.onreadystatechange = L.bind(function () {\n\t\t\tif (xmlhttp.readyState == 4 && xmlhttp.status == 200) {\n\t\t\t\tthis._parseAttributionBBoxes(JSON.parse(xmlhttp.responseText));\n\t\t\t}\n\t\t}, this);\n\t\txmlhttp.open(\"GET\", this._attributionUrl, true);\n\t\txmlhttp.send();\n\t},\n\n\t_parseAttributionBBoxes: function _parseAttributionBBoxes(json) {\n\t\tif (!this._map) { return; }\n\t\tvar providers = json[this.options.scheme.split('.')[0]] || json.normal;\n\t\tfor (var i = 0; i < providers.length; i++) {\n\t\t\tif (providers[i].boxes) {\n\t\t\t\tfor (var j = 0; j < providers[i].boxes.length; j++) {\n\t\t\t\t\tvar box = providers[i].boxes[j];\n\t\t\t\t\tproviders[i].boxes[j] = L.latLngBounds([[box[0], box[1]], [box[2], box[3]]]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis._map.on('moveend zoomend resetview', this._findCopyrightBBox, this);\n\n\t\tthis._attributionProviders = providers;\n\n\t\tthis._findCopyrightBBox();\n\t},\n\n\t_findCopyrightBBox: function _findCopyrightBBox() {\n\t\tif (!this._map) { return; }\n\t\tvar providers = this._attributionProviders;\n\t\tvar visibleProviders = [];\n\t\tvar zoom = this._map.getZoom();\n\t\tvar visibleBounds = this._map.getBounds();\n\n\t\tfor (var i = 0; i < providers.length; i++) {\n\t\t\tif (providers[i].minLevel < zoom && providers[i].maxLevel > zoom)\n\n\t\t\t\tif (!providers[i].boxes) {\n\t\t\t\t\t// No boxes = attribution always visible\n\t\t\t\t\tvisibleProviders.push(providers[i]);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\tfor (var j = 0; j < providers[i].boxes.length; j++) {\n\t\t\t\tvar box = providers[i].boxes[j];\n\t\t\t\tif (visibleBounds.overlaps(box)) {\n\t\t\t\t\tvisibleProviders.push(providers[i]);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tvar attributionText = '© HERE maps';\n\n\t\tif (attributionText !== this._attributionText && this._map.attributionControl) {\n\t\t\tthis._map.attributionControl.removeAttribution(this._attributionText);\n\t\t\tthis._map.attributionControl.addAttribution(this._attributionText = attributionText);\n\t\t}\n\t}\n});\n\n\nL.tileLayer.here = function (opts) {\n\treturn new L.TileLayer.HERE(opts);\n}","/*!\n Leaflet.FeatureGroup.SubGroup 1.0.2+00bb0d4\n (c) 2015-2017 Boris Seang\n License BSD-2-Clause\n */\n!function(e,r){\"function\"==typeof define&&define.amd?define([\"leaflet\"],r):r(\"object\"==typeof module&&module.exports?require(\"leaflet\"):e.L)}(this,function(e){e.FeatureGroup.SubGroup=e.FeatureGroup.extend({initialize:function(r,t){e.FeatureGroup.prototype.initialize.call(this,t),this.setParentGroup(r)},setParentGroup:function(r){var t=r instanceof e.LayerGroup;return this._parentGroup=r,this.onAdd=t?\"function\"==typeof r.addLayers?this._onAddToGroupBatch:this._onAddToGroup:this._onAddToMap,this.onRemove=t?\"function\"==typeof r.removeLayers?this._onRemoveFromGroupBatch:this._onRemoveFromGroup:this._onRemoveFromMap,this.addLayer=t?this._addLayerToGroup:this._addLayerToMap,this.removeLayer=t?this._removeLayerFromGroup:this._removeLayerFromMap,this},setParentGroupSafe:function(e){var r=this._map;return r&&r.removeLayer(this),this.setParentGroup(e),r&&r.addLayer(this),this},getParentGroup:function(){return this._parentGroup},_onAddToGroupBatch:function(e){var r=this.getLayers();this._map=e,this._parentGroup.addLayers(r)},_onRemoveFromGroupBatch:function(){var e=this.getLayers();this._parentGroup.removeLayers(e),this._map=null},_onAddToGroup:function(e){var r=this._parentGroup;this._map=e,this.eachLayer(r.addLayer,r)},_onRemoveFromGroup:function(){var e=this._parentGroup;this.eachLayer(e.removeLayer,e),this._map=null},_onAddToMap:e.FeatureGroup.prototype.onAdd,_onRemoveFromMap:e.FeatureGroup.prototype.onRemove,_addLayerToGroup:function(e){if(this.hasLayer(e))return this;e.addEventParent(this);var r=this.getLayerId(e);return this._layers[r]=e,this._map&&this._parentGroup.addLayer(e),this.fire(\"layeradd\",{layer:e})},_removeLayerFromGroup:function(e){if(!this.hasLayer(e))return this;var r=e in this._layers?e:this.getLayerId(e);return e=this._layers[r],e.removeEventParent(this),this._map&&e&&this._parentGroup.removeLayer(e),delete this._layers[r],this.fire(\"layerremove\",{layer:e})},_addLayerToMap:e.FeatureGroup.prototype.addLayer,_removeLayerFromMap:e.FeatureGroup.prototype.removeLayer}),e.featureGroup.subGroup=function(r,t){return new e.FeatureGroup.SubGroup(r,t)}});"],"names":[],"sourceRoot":""}