diff --git a/dist/leaflet-kmz-src.js b/dist/leaflet-kmz-src.js index 68def3d..c7dddaa 100644 --- a/dist/leaflet-kmz-src.js +++ b/dist/leaflet-kmz-src.js @@ -6,7 +6,6 @@ JSZip = JSZip && JSZip.hasOwnProperty('default') ? JSZip['default'] : JSZip; geojsonvt = geojsonvt && geojsonvt.hasOwnProperty('default') ? geojsonvt['default'] : geojsonvt; - toGeoJSON = toGeoJSON && toGeoJSON.hasOwnProperty('default') ? toGeoJSON['default'] : toGeoJSON; L.KMZParser = L.Class.extend({ diff --git a/dist/leaflet-kmz-src.js.map b/dist/leaflet-kmz-src.js.map index b90aa84..190854d 100644 --- a/dist/leaflet-kmz-src.js.map +++ b/dist/leaflet-kmz-src.js.map @@ -1 +1 @@ -{"version":3,"file":"leaflet-kmz-src.js","sources":["../src/KMZParser.js","../src/KMZLoader.js","../src/GridLayer.GeoJSON.js"],"sourcesContent":["L.KMZParser = L.Class.extend({\r\n\r\n initialize: function(opts) {\r\n L.setOptions(this, opts);\r\n this.loaders = [];\r\n },\r\n\r\n load: function(kmzUrl, opts) {\r\n var kmzLoader = new L.KMZLoader(L.extend({}, this.options, opts));\r\n kmzLoader.parse(kmzUrl);\r\n this.loaders.push(kmzLoader);\r\n },\r\n\r\n get: function(i) {\r\n return i < this.loaders.length ? this.loaders[i] : false;\r\n },\r\n});\r\n\r\nexport var KMZParser = L.KMZParser;\r\n","import JSZip from 'jszip';\r\nimport geojsonvt from 'geojson-vt';\r\nimport toGeoJSON from '@tmcw/togeojson';\r\n\r\nL.KMZLoader = L.Class.extend({\r\n options: {\r\n tiled: true,\r\n interactive: true,\r\n ballon: true,\r\n bindPopup: true,\r\n bindTooltip: true,\r\n debug: 0,\r\n },\r\n\r\n initialize: function(opts) {\r\n L.setOptions(this, opts);\r\n // Optimized GeoJSON Vector Tiles through \"geojson-vt.js\" library.\r\n this.tiled = 'geojsonvt' in window && this.options.tiled;\r\n // Standard Mouse interactions through default \"leaflet.js\" layers.\r\n this.interactive = this.options.interactive;\r\n // (Experimental) Optimized Mouse interactions through \"geojson-vt.js\" and \"leaflet-pointable.js\" libraries.\r\n this.pointable = this.tiled && !this.options.interactive && this.options.pointable;\r\n this.emptyIcon = 'data:image/png;base64,' + \"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAFElEQVR4XgXAAQ0AAABAMP1L30IDCPwC/o5WcS4AAAAASUVORK5CYII=\";\r\n this.name = this.options.name;\r\n this.callback = opts.onKMZLoaded;\r\n },\r\n\r\n parse: function(kmzUrl) {\r\n this.name = this.name ? this.name : kmzUrl.split('/').pop();\r\n this._load(kmzUrl);\r\n },\r\n\r\n _load: function(url) {\r\n this._getBinaryContent(url, function(err, data) {\r\n if (err != null) console.error(url, err, data);\r\n else this._parse(data);\r\n }.bind(this));\r\n },\r\n\r\n _parse: function(data) {\r\n return this._isZipped(data) ? this._parseKMZ(data) : this._parseKML(data);\r\n },\r\n\r\n _parseKMZ: function(data) {\r\n var that = this;\r\n JSZip.loadAsync(data).then((zip) => {\r\n Promise.all(that._mapZipFiles(zip)).then((list) => {\r\n Promise.all(that._mapListFiles(list)).then((data) => {\r\n var kmlString = this._decodeKMZFolder(data);\r\n that._parseKML(kmlString);\r\n });\r\n });\r\n });\r\n },\r\n\r\n _parseKML: function(data) {\r\n var kmlString = this._decodeKMLString(data);\r\n var xmlDoc = this._toXML(kmlString);\r\n this._kmlToLayer(xmlDoc);\r\n },\r\n\r\n _decodeKMLString: function(data) {\r\n return data instanceof ArrayBuffer ? String.fromCharCode.apply(null, new Uint8Array(data)) : data;\r\n },\r\n\r\n _decodeKMZFolder: function(data) {\r\n var kmzFiles = this._listToObject(data);\r\n var kmlDoc = this._getKmlDoc(kmzFiles);\r\n var images = this._getImageFiles(Object.keys(kmzFiles));\r\n\r\n var kmlString = kmzFiles[kmlDoc];\r\n\r\n // replaces all images with their base64 encoding\r\n for (var i in images) {\r\n var imageUrl = images[i];\r\n var dataUrl = kmzFiles[imageUrl];\r\n kmlString = this._replaceAll(kmlString, imageUrl, dataUrl);\r\n }\r\n return kmlString;\r\n },\r\n\r\n _toXML: function(text) {\r\n return (new DOMParser()).parseFromString(text, 'text/xml');\r\n },\r\n\r\n _toGeoJSON: function(xmlDoc) {\r\n return (toGeoJSON || window.toGeoJSON).kml(xmlDoc);\r\n },\r\n\r\n _kmlToLayer: function(xmlDoc) {\r\n var data = this._toGeoJSON(xmlDoc);\r\n\r\n if (this.interactive) {\r\n this.geojson = L.geoJson(data, {\r\n pointToLayer: this._pointToLayer.bind(this),\r\n onEachFeature: this._onEachFeature.bind(this),\r\n });\r\n this.layer = this.geojson;\r\n }\r\n\r\n if (this.tiled) {\r\n this.gridlayer = L.gridLayer.geoJson(data, {\r\n pointable: this.pointable,\r\n ballon: this.options.ballon,\r\n bindPopup: this.options.bindPopup,\r\n bindTooltip: this.options.bindTooltip,\r\n });\r\n this.layer = this.interactive ? L.featureGroup([this.gridlayer, this.geojson]) : this.gridlayer;\r\n }\r\n\r\n if (this.layer) {\r\n this._onKMZLoaded(this.layer, this.name);\r\n }\r\n },\r\n\r\n _pointToLayer: function(feature, latlng) {\r\n return new L.marker(latlng, {\r\n icon: L.icon({\r\n iconUrl: this.emptyIcon,\r\n }),\r\n });\r\n },\r\n\r\n _onEachFeature: function(feature, layer) {\r\n switch (feature.geometry.type) {\r\n case 'Point':\r\n this._setLayerPointIcon(feature, layer);\r\n break;\r\n case 'LineString':\r\n case 'Polygon':\r\n case 'GeometryCollection':\r\n this._setLayerStyle(feature, layer);\r\n break;\r\n default:\r\n console.warn('Unsupported feature type: ' + feature.geometry.type, feature);\r\n break;\r\n }\r\n this._setLayerBalloon(feature, layer);\r\n },\r\n\r\n _onKMZLoaded: function(layer, name) {\r\n if (this.options.debug) console.log(layer, name);\r\n if (this.callback) this.callback(layer, name);\r\n },\r\n\r\n _setLayerPointIcon: function(feature, layer) {\r\n var width = 28;\r\n var height = 28;\r\n layer.setIcon(L.icon({\r\n iconSize: [width, height],\r\n iconAnchor: [width / 2, height / 2],\r\n iconUrl: this.tiled ? this.emptyIcon : feature.properties.icon,\r\n }));\r\n },\r\n\r\n _setLayerStyle: function(feature, layer) {\r\n var styles = {\r\n weight: 1,\r\n opacity: 0,\r\n fillOpacity: 0,\r\n };\r\n if (!this.tiled) {\r\n if (feature.properties[\"stroke-width\"]) {\r\n styles.weight = feature.properties[\"stroke-width\"] * 1.05;\r\n }\r\n if (feature.properties[\"stroke-opacity\"]) {\r\n styles.opacity = feature.properties[\"stroke-opacity\"];\r\n }\r\n if (feature.properties[\"fill-opacity\"]) {\r\n styles.fillOpacity = feature.properties[\"fill-opacity\"];\r\n }\r\n if (feature.properties.stroke) {\r\n styles.color = feature.properties.stroke;\r\n }\r\n if (feature.properties.fill) {\r\n styles.fillColor = feature.properties.fill;\r\n }\r\n }\r\n layer.setStyle(styles);\r\n },\r\n\r\n _setLayerBalloon: function(feature, layer) {\r\n if (!this.options.ballon) return;\r\n\r\n var name = feature.properties.name ? feature.properties.name : \"\";\r\n var desc = feature.properties.description ? feature.properties.description : \"\";\r\n\r\n if (name || desc) {\r\n if (this.options.bindPopup) {\r\n layer.bindPopup('
' + '' + name + '' + '
' + desc + '
');\r\n }\r\n if (this.options.bindTooltip) {\r\n layer.bindTooltip('' + name + '', {\r\n direction: 'auto',\r\n sticky: true,\r\n });\r\n }\r\n }\r\n },\r\n\r\n _escapeRegExp: function(str) {\r\n return str.replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, \"\\\\$1\");\r\n },\r\n\r\n _replaceAll: function(str, find, replace) {\r\n return str.replace(new RegExp(this._escapeRegExp(find), 'g'), replace);\r\n },\r\n\r\n _mapZipFiles: function(zip) {\r\n return Object.keys(zip.files)\r\n .map((name) => zip.files[name])\r\n .map((entry) => entry\r\n .async(\"blob\")\r\n .then((value) => [entry.name, value]) // [ fileName, stringValue ]\r\n );\r\n },\r\n\r\n _mapListFiles: function(list) {\r\n return list.map(file => Promise.resolve().then(() => {\r\n return this._readFile(file);\r\n }));\r\n },\r\n\r\n _listToObject: function(list) {\r\n return list\r\n .reduce(function(newObj, listElem) {\r\n newObj[listElem[0]] = listElem[1]; // { fileName: stringValue }\r\n return newObj;\r\n }, {} /* NB: do not remove, initial value */ );\r\n },\r\n\r\n _getFileExt: function(filename) {\r\n return filename.split('.').pop().toLowerCase().replace('jpg', 'jpeg');\r\n },\r\n\r\n _getMimeType: function(filename, ext) {\r\n var mime = 'text/plain';\r\n if (/\\.(jpe?g|png|gif|bmp)$/i.test(filename)) {\r\n mime = 'image/' + ext;\r\n } else if (/\\.kml$/i.test(filename)) {\r\n mime = 'text/plain';\r\n }\r\n return mime;\r\n },\r\n\r\n _getKmlDoc: function(files) {\r\n return files[\"doc.kml\"] ? \"doc.kml\" : this._getKmlFiles(Object.keys(files))[0];\r\n },\r\n\r\n _getKmlFiles: function(files) {\r\n return files.filter((file) => /.*\\.kml/.test(file));\r\n },\r\n\r\n _getImageFiles: function(files) {\r\n return files.filter((file) => /\\.(jpe?g|png|gif|bmp)$/i.test(file));\r\n },\r\n\r\n /**\r\n * It checks if a given file begins with PK, if so it's zipped\r\n *\r\n * @link https://en.wikipedia.org/wiki/List_of_file_signatures\r\n */\r\n _isZipped: function(file) {\r\n var P = new Uint8Array(file, 0, 1); // offset, length\r\n var K = new Uint8Array(file, 1, 1);\r\n var PK = String.fromCharCode(P, K);\r\n return 'PK' === PK;\r\n },\r\n\r\n _readFile: function(file) {\r\n var filename = file[0];\r\n var fileblob = file[1];\r\n var ext = this._getFileExt(filename);\r\n var mime = this._getMimeType(filename, ext);\r\n return this._fileReader(fileblob, mime, filename);\r\n },\r\n\r\n _fileReader: function(blob, mime, name) {\r\n return new Promise((resolve, reject) => {\r\n var fr = new FileReader();\r\n fr.onload = () => {\r\n var result = fr.result;\r\n if (mime.indexOf('text') === -1) {\r\n var dataUrl = fr.result;\r\n var base64 = dataUrl.split(',')[1];\r\n result = 'data:' + mime + ';base64,' + base64;\r\n }\r\n return resolve([\r\n name, result\r\n ]);\r\n };\r\n if (mime.indexOf('text') === -1) {\r\n fr.readAsDataURL(blob);\r\n } else {\r\n fr.readAsText(blob);\r\n }\r\n });\r\n },\r\n\r\n _getBinaryContent: function(path, callback) {\r\n try {\r\n var xhr = new window.XMLHttpRequest();\r\n xhr.open('GET', path, true);\r\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\r\n xhr.responseType = \"arraybuffer\";\r\n xhr.onreadystatechange = function(evt) {\r\n var file, err;\r\n if (xhr.readyState === 4) {\r\n if (xhr.status === 200 || xhr.status === 0) {\r\n file = null;\r\n err = null;\r\n try {\r\n file = xhr.response || xhr.responseText;\r\n } catch (e) {\r\n err = new Error(e);\r\n }\r\n callback(err, file);\r\n } else {\r\n callback(new Error(\"Ajax error for \" + path + \" : \" + this.status + \" \" + this.statusText), null);\r\n }\r\n }\r\n };\r\n xhr.send();\r\n } catch (e) {\r\n callback(new Error(e), null);\r\n }\r\n },\r\n\r\n _blobToString: function(b) {\r\n var u, x;\r\n u = URL.createObjectURL(b);\r\n x = new XMLHttpRequest();\r\n x.open('GET', u, false); // although sync, you're not fetching over internet\r\n x.send();\r\n URL.revokeObjectURL(u);\r\n return x.responseText;\r\n },\r\n\r\n _blobToBase64: function(blob, callback) {\r\n var reader = new FileReader();\r\n reader.onload = function() {\r\n var dataUrl = reader.result;\r\n var base64 = dataUrl.split(',')[1];\r\n callback(base64);\r\n };\r\n reader.readAsDataURL(blob);\r\n },\r\n\r\n});\r\n\r\nexport var KMZLoader = L.KMZLoader;\r\n","import geojsonvt from 'geojson-vt';\r\nimport 'leaflet-pointable';\r\n/**\r\n * A plugin combining geojson-vt with leafletjs which is initially inspired by leaflet-geojson-vt.\r\n *\r\n * @author Brandonxiang, Raruto\r\n *\r\n * @link https://github.com/brandonxiang/leaflet-geojson-vt\r\n */\r\nL.GridLayer.GeoJSON = L.GridLayer.extend({\r\n options: {\r\n pointable: false,\r\n ballon: false,\r\n bindPopup: false,\r\n bindTooltip: false,\r\n async: false,\r\n maxZoom: 24,\r\n tolerance: 3,\r\n debug: 0,\r\n extent: 4096,\r\n buffer: 256,\r\n icon: {\r\n width: 28,\r\n height: 28\r\n },\r\n styles: {\r\n strokeWidth: 1,\r\n strokeColor: '#f00',\r\n strokeOpacity: 1.0,\r\n fillColor: '#000',\r\n fillOpacity: 0.25\r\n }\r\n },\r\n\r\n initialize: function(geojson, options) {\r\n L.setOptions(this, options);\r\n L.GridLayer.prototype.initialize.call(this, options);\r\n this.tileIndex = (geojsonvt || window.geojsonvt)(geojson, this.options);\r\n this.geojson = geojson; // eg. saved for advanced \"leaflet-pip\" mouse/click integrations\r\n },\r\n\r\n onAdd: function(map) {\r\n L.GridLayer.prototype.onAdd.call(this, map);\r\n if (this.options.ballon) {\r\n if (this.options.bindPopup) this._map.on(\"click\", this.updateBalloon, this);\r\n if (this.options.bindTooltip) this._map.on(\"mousemove\", this.updateBalloon, this);\r\n }\r\n },\r\n\r\n createTile: function(coords) {\r\n var tile = L.DomUtil.create('canvas', 'leaflet-tile');\r\n var size = this.getTileSize();\r\n tile.width = size.x;\r\n tile.height = size.y;\r\n var ctx = tile.getContext('2d');\r\n\r\n // return the tile so it can be rendered on screen\r\n var tileInfo = this.tileIndex.getTile(coords.z, coords.x, coords.y);\r\n var features = tileInfo ? tileInfo.features : [];\r\n for (var i = 0; i < features.length; i++) {\r\n this._drawFeature(ctx, features[i]);\r\n }\r\n return tile;\r\n },\r\n\r\n _drawFeature: function(ctx, feature) {\r\n ctx.beginPath();\r\n this._setStyle(ctx, feature);\r\n\r\n if (feature.type === 1) this._drawIcon(ctx, feature);\r\n else if (feature.type === 2) this._drawLine(ctx, feature);\r\n else if (feature.type === 3) this._drawPolygon(ctx, feature);\r\n else console.warn('Unsupported feature type: ' + feature.geometry.type, feature);\r\n\r\n ctx.stroke();\r\n },\r\n\r\n _drawIcon: function(ctx, feature) {\r\n var icon = new Image(),\r\n p = feature.geometry[0],\r\n width = this.options.icon.width,\r\n height = this.options.icon.height;\r\n icon.onload = function() {\r\n ctx.drawImage(icon, (p[0] / 16.0) - (width / 2.0), (p[1] / 16.0) - (height / 2.0), width, height);\r\n };\r\n icon.src = feature.tags.icon ? feature.tags.icon : null;\r\n },\r\n\r\n _drawLine: function(ctx, feature) {\r\n for (var j = 0; j < feature.geometry.length; j++) {\r\n var ring = feature.geometry[j];\r\n for (var k = 0; k < ring.length; k++) {\r\n var p = ring[k];\r\n if (k) ctx.lineTo(p[0] / 16.0, p[1] / 16.0);\r\n else ctx.moveTo(p[0] / 16.0, p[1] / 16.0);\r\n }\r\n }\r\n },\r\n\r\n _drawPolygon: function(ctx, feature) {\r\n this._drawLine(ctx, feature);\r\n ctx.fill('evenodd');\r\n },\r\n\r\n _setStyle: function(ctx, feature) {\r\n var style = {};\r\n\r\n if (feature.type === 1) style = this._setPointStyle(feature, style);\r\n else if (feature.type === 2) style = this._setLineStyle(feature, style);\r\n else if (feature.type === 3) style = this._setPolygonStyle(feature, style);\r\n\r\n ctx.lineWidth = style.stroke ? this._setWeight(style.weight) : 0;\r\n ctx.strokeStyle = style.stroke ? this._setOpacity(style.stroke, style.opacity) : {};\r\n ctx.fillStyle = style.fill ? this._setOpacity(style.fill, style.fillOpacity) : {};\r\n },\r\n\r\n _setPointStyle: function(feature, style) {\r\n return style;\r\n },\r\n\r\n _setLineStyle: function(feature, style) {\r\n style.weight = (feature.tags[\"stroke-width\"] ? feature.tags[\"stroke-width\"] : this.options.styles.strokeWidth) * 1.05;\r\n style.opacity = feature.tags[\"stroke-opacity\"] ? feature.tags[\"stroke-opacity\"] : this.options.styles.strokeOpacity;\r\n style.stroke = feature.tags.stroke ? feature.tags.stroke : this.options.styles.strokeColor;\r\n return style;\r\n },\r\n\r\n _setPolygonStyle: function(feature, style) {\r\n style = this._setLineStyle(feature, style);\r\n style.fill = feature.tags.fill ? feature.tags.fill : this.options.styles.fillColor;\r\n style.fillOpacity = feature.tags[\"fill-opacity\"] ? feature.tags[\"fill-opacity\"] : this.options.styles.fillOpacity;\r\n return style;\r\n },\r\n\r\n _setWeight: function(weight) {\r\n return weight || 5;\r\n },\r\n\r\n _setOpacity: function(color, opacity) {\r\n color = color || '#f00';\r\n if (opacity && this._iscolorHex(color)) {\r\n var colorRgb = this._colorRgb(color);\r\n return \"rgba(\" + colorRgb[0] + \",\" + colorRgb[1] + \",\" + colorRgb[2] + \",\" + opacity + \")\";\r\n }\r\n return color;\r\n },\r\n\r\n _iscolorHex: function(color) {\r\n return /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(color.toLowerCase());\r\n },\r\n\r\n _colorRgb: function(color) {\r\n var sColor = color.toLowerCase();\r\n if (sColor.length === 4) {\r\n var sColorNew = \"#\";\r\n for (var i = 1; i < 4; i += 1) {\r\n sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));\r\n }\r\n sColor = sColorNew;\r\n }\r\n var sColorChange = [];\r\n for (var j = 1; j < 7; j += 2) {\r\n sColorChange.push(parseInt(\"0x\" + sColor.slice(j, j + 2)));\r\n }\r\n return sColorChange;\r\n },\r\n\r\n /**\r\n * Point in Polygon: ray-casting algorithm\r\n *\r\n * @link http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html\r\n */\r\n _pointInPolygon: function(point, vs) {\r\n var x = point[0];\r\n var y = point[1];\r\n\r\n var inside = false;\r\n for (var i = 0, j = vs.length - 1; i < vs.length; j = i++) {\r\n var xi = vs[i][0];\r\n var yi = vs[i][1];\r\n var xj = vs[j][0];\r\n var yj = vs[j][1];\r\n\r\n var intersect = ((yi > y) != (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi);\r\n if (intersect) inside = !inside;\r\n }\r\n\r\n return inside;\r\n },\r\n\r\n _getLatLngsPoly: function(feature, i) {\r\n var o = [];\r\n var geometry = feature.geometry || feature;\r\n var coords = geometry.type == \"Polygon\" ? geometry.coordinates[0] : geometry.coordinates;\r\n for (var j = i || 0; j < coords.length; j++) {\r\n o[i++] = [coords[j][0], coords[j][1]];\r\n }\r\n return o.length ? o : false;\r\n },\r\n\r\n _getLatLngsPoint: function(feature, i) {\r\n var o = [];\r\n var geometry = feature.geometry || feature;\r\n var coords = geometry.coordinates;\r\n o[i || 0] = [coords[0], coords[1]];\r\n return o.length ? o : false;\r\n },\r\n\r\n _getLatLngs: function(feature, i) {\r\n var o = [];\r\n i = i || 0;\r\n var coords;\r\n\r\n var geometry = feature.geometry || feature;\r\n var type = geometry.type;\r\n\r\n if (type == \"Point\") {\r\n coords = this._getLatLngsPoint(feature, i);\r\n if (coords) Array.prototype.push.apply(o, coords);\r\n } else if (type == \"LineString\" || type == \"Polygon\") {\r\n coords = this._getLatLngsPoly(feature, i);\r\n if (coords) Array.prototype.push.apply(o, coords);\r\n } else if (type == \"GeometryCollection\") {\r\n var polys = geometry.geometries;\r\n for (var j = 0; j < polys.length; j++) {\r\n coords = this._getLatLngs(polys[j], i);\r\n if (coords) Array.prototype.push.apply(o, coords);\r\n }\r\n } else {\r\n console.warn(\"Unsupported feature type: \" + type);\r\n }\r\n return o.length ? o : false;\r\n },\r\n\r\n /**\r\n * (EXPERIMENTAL) Based on: https://github.com/mapbox/leaflet-pip\r\n *\r\n * TODO: add/check support for Points, Lines and \"donuts\" Polygons\r\n */\r\n pointInLayer: function(p, layer, first) {\r\n if (p instanceof L.LatLng) p = [p.lng, p.lat];\r\n var results = [];\r\n\r\n layer = layer || this.geojson;\r\n first = first || true;\r\n features = layer.features;\r\n\r\n for (var i = 0; i < features.length; i++) {\r\n if (first && results.length) break;\r\n var coords = this._getLatLngs(features[i]);\r\n if (coords) {\r\n var inside = this._pointInPolygon(p, coords); // NB. works only with polygons (see: https://observablehq.com/@tmcw/understanding-point-in-polygon).\r\n if (inside) results.push(features[i]);\r\n }\r\n }\r\n return results.length ? results : false;\r\n },\r\n\r\n /**\r\n * (EXPERIMENTAL) Based on: https://github.com/Raruto/leaflet-pointable\r\n */\r\n updateBalloon: function(e) {\r\n if (!this._map || !this.options.pointable || !this._map.isPointablePixel() || !this.isPointablePixel()) return;\r\n this._popup = this._popup || new L.Popup();\r\n var points = this.pointInLayer(e.latlng, this.geojson);\r\n if (points) {\r\n var feature = points[0];\r\n var name = feature.properties.name || \"\";\r\n if (name) {\r\n this._popup.setLatLng(e.latlng);\r\n this._popup.setContent('' + name + '');\r\n this._popup.openOn(this._map);\r\n }\r\n } else {\r\n this._map.closePopup(this._popup);\r\n }\r\n },\r\n\r\n});\r\n\r\nL.gridLayer.geoJson = function(geojson, options) {\r\n return new L.GridLayer.GeoJSON(geojson, options);\r\n};\r\n\r\nexport var GridLayer = {\r\n GeoJSON: L.GridLayer.GeoJSON,\r\n};\r\n\r\nexport var gridLayer = {\r\n geoJSON: L.gridLayer.geoJson,\r\n};\r\n"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"leaflet-kmz-src.js","sources":["../src/KMZParser.js","../src/KMZLoader.js","../src/GridLayer.GeoJSON.js"],"sourcesContent":["L.KMZParser = L.Class.extend({\r\n\r\n initialize: function(opts) {\r\n L.setOptions(this, opts);\r\n this.loaders = [];\r\n },\r\n\r\n load: function(kmzUrl, opts) {\r\n var kmzLoader = new L.KMZLoader(L.extend({}, this.options, opts));\r\n kmzLoader.parse(kmzUrl);\r\n this.loaders.push(kmzLoader);\r\n },\r\n\r\n get: function(i) {\r\n return i < this.loaders.length ? this.loaders[i] : false;\r\n },\r\n});\r\n\r\nexport var KMZParser = L.KMZParser;\r\n","import JSZip from 'jszip';\r\nimport geojsonvt from 'geojson-vt';\r\nimport * as toGeoJSON from '@tmcw/togeojson';\r\n\r\nL.KMZLoader = L.Class.extend({\r\n options: {\r\n tiled: true,\r\n interactive: true,\r\n ballon: true,\r\n bindPopup: true,\r\n bindTooltip: true,\r\n debug: 0,\r\n },\r\n\r\n initialize: function(opts) {\r\n L.setOptions(this, opts);\r\n // Optimized GeoJSON Vector Tiles through \"geojson-vt.js\" library.\r\n this.tiled = 'geojsonvt' in window && this.options.tiled;\r\n // Standard Mouse interactions through default \"leaflet.js\" layers.\r\n this.interactive = this.options.interactive;\r\n // (Experimental) Optimized Mouse interactions through \"geojson-vt.js\" and \"leaflet-pointable.js\" libraries.\r\n this.pointable = this.tiled && !this.options.interactive && this.options.pointable;\r\n this.emptyIcon = 'data:image/png;base64,' + \"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAFElEQVR4XgXAAQ0AAABAMP1L30IDCPwC/o5WcS4AAAAASUVORK5CYII=\";\r\n this.name = this.options.name;\r\n this.callback = opts.onKMZLoaded;\r\n },\r\n\r\n parse: function(kmzUrl) {\r\n this.name = this.name ? this.name : kmzUrl.split('/').pop();\r\n this._load(kmzUrl);\r\n },\r\n\r\n _load: function(url) {\r\n this._getBinaryContent(url, function(err, data) {\r\n if (err != null) console.error(url, err, data);\r\n else this._parse(data);\r\n }.bind(this));\r\n },\r\n\r\n _parse: function(data) {\r\n return this._isZipped(data) ? this._parseKMZ(data) : this._parseKML(data);\r\n },\r\n\r\n _parseKMZ: function(data) {\r\n var that = this;\r\n JSZip.loadAsync(data).then((zip) => {\r\n Promise.all(that._mapZipFiles(zip)).then((list) => {\r\n Promise.all(that._mapListFiles(list)).then((data) => {\r\n var kmlString = this._decodeKMZFolder(data);\r\n that._parseKML(kmlString);\r\n });\r\n });\r\n });\r\n },\r\n\r\n _parseKML: function(data) {\r\n var kmlString = this._decodeKMLString(data);\r\n var xmlDoc = this._toXML(kmlString);\r\n this._kmlToLayer(xmlDoc);\r\n },\r\n\r\n _decodeKMLString: function(data) {\r\n return data instanceof ArrayBuffer ? String.fromCharCode.apply(null, new Uint8Array(data)) : data;\r\n },\r\n\r\n _decodeKMZFolder: function(data) {\r\n var kmzFiles = this._listToObject(data);\r\n var kmlDoc = this._getKmlDoc(kmzFiles);\r\n var images = this._getImageFiles(Object.keys(kmzFiles));\r\n\r\n var kmlString = kmzFiles[kmlDoc];\r\n\r\n // replaces all images with their base64 encoding\r\n for (var i in images) {\r\n var imageUrl = images[i];\r\n var dataUrl = kmzFiles[imageUrl];\r\n kmlString = this._replaceAll(kmlString, imageUrl, dataUrl);\r\n }\r\n return kmlString;\r\n },\r\n\r\n _toXML: function(text) {\r\n return (new DOMParser()).parseFromString(text, 'text/xml');\r\n },\r\n\r\n _toGeoJSON: function(xmlDoc) {\r\n return (toGeoJSON || window.toGeoJSON).kml(xmlDoc);\r\n },\r\n\r\n _kmlToLayer: function(xmlDoc) {\r\n var data = this._toGeoJSON(xmlDoc);\r\n\r\n if (this.interactive) {\r\n this.geojson = L.geoJson(data, {\r\n pointToLayer: this._pointToLayer.bind(this),\r\n onEachFeature: this._onEachFeature.bind(this),\r\n });\r\n this.layer = this.geojson;\r\n }\r\n\r\n if (this.tiled) {\r\n this.gridlayer = L.gridLayer.geoJson(data, {\r\n pointable: this.pointable,\r\n ballon: this.options.ballon,\r\n bindPopup: this.options.bindPopup,\r\n bindTooltip: this.options.bindTooltip,\r\n });\r\n this.layer = this.interactive ? L.featureGroup([this.gridlayer, this.geojson]) : this.gridlayer;\r\n }\r\n\r\n if (this.layer) {\r\n this._onKMZLoaded(this.layer, this.name);\r\n }\r\n },\r\n\r\n _pointToLayer: function(feature, latlng) {\r\n return new L.marker(latlng, {\r\n icon: L.icon({\r\n iconUrl: this.emptyIcon,\r\n }),\r\n });\r\n },\r\n\r\n _onEachFeature: function(feature, layer) {\r\n switch (feature.geometry.type) {\r\n case 'Point':\r\n this._setLayerPointIcon(feature, layer);\r\n break;\r\n case 'LineString':\r\n case 'Polygon':\r\n case 'GeometryCollection':\r\n this._setLayerStyle(feature, layer);\r\n break;\r\n default:\r\n console.warn('Unsupported feature type: ' + feature.geometry.type, feature);\r\n break;\r\n }\r\n this._setLayerBalloon(feature, layer);\r\n },\r\n\r\n _onKMZLoaded: function(layer, name) {\r\n if (this.options.debug) console.log(layer, name);\r\n if (this.callback) this.callback(layer, name);\r\n },\r\n\r\n _setLayerPointIcon: function(feature, layer) {\r\n var width = 28;\r\n var height = 28;\r\n layer.setIcon(L.icon({\r\n iconSize: [width, height],\r\n iconAnchor: [width / 2, height / 2],\r\n iconUrl: this.tiled ? this.emptyIcon : feature.properties.icon,\r\n }));\r\n },\r\n\r\n _setLayerStyle: function(feature, layer) {\r\n var styles = {\r\n weight: 1,\r\n opacity: 0,\r\n fillOpacity: 0,\r\n };\r\n if (!this.tiled) {\r\n if (feature.properties[\"stroke-width\"]) {\r\n styles.weight = feature.properties[\"stroke-width\"] * 1.05;\r\n }\r\n if (feature.properties[\"stroke-opacity\"]) {\r\n styles.opacity = feature.properties[\"stroke-opacity\"];\r\n }\r\n if (feature.properties[\"fill-opacity\"]) {\r\n styles.fillOpacity = feature.properties[\"fill-opacity\"];\r\n }\r\n if (feature.properties.stroke) {\r\n styles.color = feature.properties.stroke;\r\n }\r\n if (feature.properties.fill) {\r\n styles.fillColor = feature.properties.fill;\r\n }\r\n }\r\n layer.setStyle(styles);\r\n },\r\n\r\n _setLayerBalloon: function(feature, layer) {\r\n if (!this.options.ballon) return;\r\n\r\n var name = feature.properties.name ? feature.properties.name : \"\";\r\n var desc = feature.properties.description ? feature.properties.description : \"\";\r\n\r\n if (name || desc) {\r\n if (this.options.bindPopup) {\r\n layer.bindPopup('
' + '' + name + '' + '
' + desc + '
');\r\n }\r\n if (this.options.bindTooltip) {\r\n layer.bindTooltip('' + name + '', {\r\n direction: 'auto',\r\n sticky: true,\r\n });\r\n }\r\n }\r\n },\r\n\r\n _escapeRegExp: function(str) {\r\n return str.replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, \"\\\\$1\");\r\n },\r\n\r\n _replaceAll: function(str, find, replace) {\r\n return str.replace(new RegExp(this._escapeRegExp(find), 'g'), replace);\r\n },\r\n\r\n _mapZipFiles: function(zip) {\r\n return Object.keys(zip.files)\r\n .map((name) => zip.files[name])\r\n .map((entry) => entry\r\n .async(\"blob\")\r\n .then((value) => [entry.name, value]) // [ fileName, stringValue ]\r\n );\r\n },\r\n\r\n _mapListFiles: function(list) {\r\n return list.map(file => Promise.resolve().then(() => {\r\n return this._readFile(file);\r\n }));\r\n },\r\n\r\n _listToObject: function(list) {\r\n return list\r\n .reduce(function(newObj, listElem) {\r\n newObj[listElem[0]] = listElem[1]; // { fileName: stringValue }\r\n return newObj;\r\n }, {} /* NB: do not remove, initial value */ );\r\n },\r\n\r\n _getFileExt: function(filename) {\r\n return filename.split('.').pop().toLowerCase().replace('jpg', 'jpeg');\r\n },\r\n\r\n _getMimeType: function(filename, ext) {\r\n var mime = 'text/plain';\r\n if (/\\.(jpe?g|png|gif|bmp)$/i.test(filename)) {\r\n mime = 'image/' + ext;\r\n } else if (/\\.kml$/i.test(filename)) {\r\n mime = 'text/plain';\r\n }\r\n return mime;\r\n },\r\n\r\n _getKmlDoc: function(files) {\r\n return files[\"doc.kml\"] ? \"doc.kml\" : this._getKmlFiles(Object.keys(files))[0];\r\n },\r\n\r\n _getKmlFiles: function(files) {\r\n return files.filter((file) => /.*\\.kml/.test(file));\r\n },\r\n\r\n _getImageFiles: function(files) {\r\n return files.filter((file) => /\\.(jpe?g|png|gif|bmp)$/i.test(file));\r\n },\r\n\r\n /**\r\n * It checks if a given file begins with PK, if so it's zipped\r\n *\r\n * @link https://en.wikipedia.org/wiki/List_of_file_signatures\r\n */\r\n _isZipped: function(file) {\r\n var P = new Uint8Array(file, 0, 1); // offset, length\r\n var K = new Uint8Array(file, 1, 1);\r\n var PK = String.fromCharCode(P, K);\r\n return 'PK' === PK;\r\n },\r\n\r\n _readFile: function(file) {\r\n var filename = file[0];\r\n var fileblob = file[1];\r\n var ext = this._getFileExt(filename);\r\n var mime = this._getMimeType(filename, ext);\r\n return this._fileReader(fileblob, mime, filename);\r\n },\r\n\r\n _fileReader: function(blob, mime, name) {\r\n return new Promise((resolve, reject) => {\r\n var fr = new FileReader();\r\n fr.onload = () => {\r\n var result = fr.result;\r\n if (mime.indexOf('text') === -1) {\r\n var dataUrl = fr.result;\r\n var base64 = dataUrl.split(',')[1];\r\n result = 'data:' + mime + ';base64,' + base64;\r\n }\r\n return resolve([\r\n name, result\r\n ]);\r\n };\r\n if (mime.indexOf('text') === -1) {\r\n fr.readAsDataURL(blob);\r\n } else {\r\n fr.readAsText(blob);\r\n }\r\n });\r\n },\r\n\r\n _getBinaryContent: function(path, callback) {\r\n try {\r\n var xhr = new window.XMLHttpRequest();\r\n xhr.open('GET', path, true);\r\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\r\n xhr.responseType = \"arraybuffer\";\r\n xhr.onreadystatechange = function(evt) {\r\n var file, err;\r\n if (xhr.readyState === 4) {\r\n if (xhr.status === 200 || xhr.status === 0) {\r\n file = null;\r\n err = null;\r\n try {\r\n file = xhr.response || xhr.responseText;\r\n } catch (e) {\r\n err = new Error(e);\r\n }\r\n callback(err, file);\r\n } else {\r\n callback(new Error(\"Ajax error for \" + path + \" : \" + this.status + \" \" + this.statusText), null);\r\n }\r\n }\r\n };\r\n xhr.send();\r\n } catch (e) {\r\n callback(new Error(e), null);\r\n }\r\n },\r\n\r\n _blobToString: function(b) {\r\n var u, x;\r\n u = URL.createObjectURL(b);\r\n x = new XMLHttpRequest();\r\n x.open('GET', u, false); // although sync, you're not fetching over internet\r\n x.send();\r\n URL.revokeObjectURL(u);\r\n return x.responseText;\r\n },\r\n\r\n _blobToBase64: function(blob, callback) {\r\n var reader = new FileReader();\r\n reader.onload = function() {\r\n var dataUrl = reader.result;\r\n var base64 = dataUrl.split(',')[1];\r\n callback(base64);\r\n };\r\n reader.readAsDataURL(blob);\r\n },\r\n\r\n});\r\n\r\nexport var KMZLoader = L.KMZLoader;\r\n","import geojsonvt from 'geojson-vt';\r\nimport 'leaflet-pointable';\r\n/**\r\n * A plugin combining geojson-vt with leafletjs which is initially inspired by leaflet-geojson-vt.\r\n *\r\n * @author Brandonxiang, Raruto\r\n *\r\n * @link https://github.com/brandonxiang/leaflet-geojson-vt\r\n */\r\nL.GridLayer.GeoJSON = L.GridLayer.extend({\r\n options: {\r\n pointable: false,\r\n ballon: false,\r\n bindPopup: false,\r\n bindTooltip: false,\r\n async: false,\r\n maxZoom: 24,\r\n tolerance: 3,\r\n debug: 0,\r\n extent: 4096,\r\n buffer: 256,\r\n icon: {\r\n width: 28,\r\n height: 28\r\n },\r\n styles: {\r\n strokeWidth: 1,\r\n strokeColor: '#f00',\r\n strokeOpacity: 1.0,\r\n fillColor: '#000',\r\n fillOpacity: 0.25\r\n }\r\n },\r\n\r\n initialize: function(geojson, options) {\r\n L.setOptions(this, options);\r\n L.GridLayer.prototype.initialize.call(this, options);\r\n this.tileIndex = (geojsonvt || window.geojsonvt)(geojson, this.options);\r\n this.geojson = geojson; // eg. saved for advanced \"leaflet-pip\" mouse/click integrations\r\n },\r\n\r\n onAdd: function(map) {\r\n L.GridLayer.prototype.onAdd.call(this, map);\r\n if (this.options.ballon) {\r\n if (this.options.bindPopup) this._map.on(\"click\", this.updateBalloon, this);\r\n if (this.options.bindTooltip) this._map.on(\"mousemove\", this.updateBalloon, this);\r\n }\r\n },\r\n\r\n createTile: function(coords) {\r\n var tile = L.DomUtil.create('canvas', 'leaflet-tile');\r\n var size = this.getTileSize();\r\n tile.width = size.x;\r\n tile.height = size.y;\r\n var ctx = tile.getContext('2d');\r\n\r\n // return the tile so it can be rendered on screen\r\n var tileInfo = this.tileIndex.getTile(coords.z, coords.x, coords.y);\r\n var features = tileInfo ? tileInfo.features : [];\r\n for (var i = 0; i < features.length; i++) {\r\n this._drawFeature(ctx, features[i]);\r\n }\r\n return tile;\r\n },\r\n\r\n _drawFeature: function(ctx, feature) {\r\n ctx.beginPath();\r\n this._setStyle(ctx, feature);\r\n\r\n if (feature.type === 1) this._drawIcon(ctx, feature);\r\n else if (feature.type === 2) this._drawLine(ctx, feature);\r\n else if (feature.type === 3) this._drawPolygon(ctx, feature);\r\n else console.warn('Unsupported feature type: ' + feature.geometry.type, feature);\r\n\r\n ctx.stroke();\r\n },\r\n\r\n _drawIcon: function(ctx, feature) {\r\n var icon = new Image(),\r\n p = feature.geometry[0],\r\n width = this.options.icon.width,\r\n height = this.options.icon.height;\r\n icon.onload = function() {\r\n ctx.drawImage(icon, (p[0] / 16.0) - (width / 2.0), (p[1] / 16.0) - (height / 2.0), width, height);\r\n };\r\n icon.src = feature.tags.icon ? feature.tags.icon : null;\r\n },\r\n\r\n _drawLine: function(ctx, feature) {\r\n for (var j = 0; j < feature.geometry.length; j++) {\r\n var ring = feature.geometry[j];\r\n for (var k = 0; k < ring.length; k++) {\r\n var p = ring[k];\r\n if (k) ctx.lineTo(p[0] / 16.0, p[1] / 16.0);\r\n else ctx.moveTo(p[0] / 16.0, p[1] / 16.0);\r\n }\r\n }\r\n },\r\n\r\n _drawPolygon: function(ctx, feature) {\r\n this._drawLine(ctx, feature);\r\n ctx.fill('evenodd');\r\n },\r\n\r\n _setStyle: function(ctx, feature) {\r\n var style = {};\r\n\r\n if (feature.type === 1) style = this._setPointStyle(feature, style);\r\n else if (feature.type === 2) style = this._setLineStyle(feature, style);\r\n else if (feature.type === 3) style = this._setPolygonStyle(feature, style);\r\n\r\n ctx.lineWidth = style.stroke ? this._setWeight(style.weight) : 0;\r\n ctx.strokeStyle = style.stroke ? this._setOpacity(style.stroke, style.opacity) : {};\r\n ctx.fillStyle = style.fill ? this._setOpacity(style.fill, style.fillOpacity) : {};\r\n },\r\n\r\n _setPointStyle: function(feature, style) {\r\n return style;\r\n },\r\n\r\n _setLineStyle: function(feature, style) {\r\n style.weight = (feature.tags[\"stroke-width\"] ? feature.tags[\"stroke-width\"] : this.options.styles.strokeWidth) * 1.05;\r\n style.opacity = feature.tags[\"stroke-opacity\"] ? feature.tags[\"stroke-opacity\"] : this.options.styles.strokeOpacity;\r\n style.stroke = feature.tags.stroke ? feature.tags.stroke : this.options.styles.strokeColor;\r\n return style;\r\n },\r\n\r\n _setPolygonStyle: function(feature, style) {\r\n style = this._setLineStyle(feature, style);\r\n style.fill = feature.tags.fill ? feature.tags.fill : this.options.styles.fillColor;\r\n style.fillOpacity = feature.tags[\"fill-opacity\"] ? feature.tags[\"fill-opacity\"] : this.options.styles.fillOpacity;\r\n return style;\r\n },\r\n\r\n _setWeight: function(weight) {\r\n return weight || 5;\r\n },\r\n\r\n _setOpacity: function(color, opacity) {\r\n color = color || '#f00';\r\n if (opacity && this._iscolorHex(color)) {\r\n var colorRgb = this._colorRgb(color);\r\n return \"rgba(\" + colorRgb[0] + \",\" + colorRgb[1] + \",\" + colorRgb[2] + \",\" + opacity + \")\";\r\n }\r\n return color;\r\n },\r\n\r\n _iscolorHex: function(color) {\r\n return /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(color.toLowerCase());\r\n },\r\n\r\n _colorRgb: function(color) {\r\n var sColor = color.toLowerCase();\r\n if (sColor.length === 4) {\r\n var sColorNew = \"#\";\r\n for (var i = 1; i < 4; i += 1) {\r\n sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));\r\n }\r\n sColor = sColorNew;\r\n }\r\n var sColorChange = [];\r\n for (var j = 1; j < 7; j += 2) {\r\n sColorChange.push(parseInt(\"0x\" + sColor.slice(j, j + 2)));\r\n }\r\n return sColorChange;\r\n },\r\n\r\n /**\r\n * Point in Polygon: ray-casting algorithm\r\n *\r\n * @link http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html\r\n */\r\n _pointInPolygon: function(point, vs) {\r\n var x = point[0];\r\n var y = point[1];\r\n\r\n var inside = false;\r\n for (var i = 0, j = vs.length - 1; i < vs.length; j = i++) {\r\n var xi = vs[i][0];\r\n var yi = vs[i][1];\r\n var xj = vs[j][0];\r\n var yj = vs[j][1];\r\n\r\n var intersect = ((yi > y) != (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi);\r\n if (intersect) inside = !inside;\r\n }\r\n\r\n return inside;\r\n },\r\n\r\n _getLatLngsPoly: function(feature, i) {\r\n var o = [];\r\n var geometry = feature.geometry || feature;\r\n var coords = geometry.type == \"Polygon\" ? geometry.coordinates[0] : geometry.coordinates;\r\n for (var j = i || 0; j < coords.length; j++) {\r\n o[i++] = [coords[j][0], coords[j][1]];\r\n }\r\n return o.length ? o : false;\r\n },\r\n\r\n _getLatLngsPoint: function(feature, i) {\r\n var o = [];\r\n var geometry = feature.geometry || feature;\r\n var coords = geometry.coordinates;\r\n o[i || 0] = [coords[0], coords[1]];\r\n return o.length ? o : false;\r\n },\r\n\r\n _getLatLngs: function(feature, i) {\r\n var o = [];\r\n i = i || 0;\r\n var coords;\r\n\r\n var geometry = feature.geometry || feature;\r\n var type = geometry.type;\r\n\r\n if (type == \"Point\") {\r\n coords = this._getLatLngsPoint(feature, i);\r\n if (coords) Array.prototype.push.apply(o, coords);\r\n } else if (type == \"LineString\" || type == \"Polygon\") {\r\n coords = this._getLatLngsPoly(feature, i);\r\n if (coords) Array.prototype.push.apply(o, coords);\r\n } else if (type == \"GeometryCollection\") {\r\n var polys = geometry.geometries;\r\n for (var j = 0; j < polys.length; j++) {\r\n coords = this._getLatLngs(polys[j], i);\r\n if (coords) Array.prototype.push.apply(o, coords);\r\n }\r\n } else {\r\n console.warn(\"Unsupported feature type: \" + type);\r\n }\r\n return o.length ? o : false;\r\n },\r\n\r\n /**\r\n * (EXPERIMENTAL) Based on: https://github.com/mapbox/leaflet-pip\r\n *\r\n * TODO: add/check support for Points, Lines and \"donuts\" Polygons\r\n */\r\n pointInLayer: function(p, layer, first) {\r\n if (p instanceof L.LatLng) p = [p.lng, p.lat];\r\n var results = [];\r\n\r\n layer = layer || this.geojson;\r\n first = first || true;\r\n features = layer.features;\r\n\r\n for (var i = 0; i < features.length; i++) {\r\n if (first && results.length) break;\r\n var coords = this._getLatLngs(features[i]);\r\n if (coords) {\r\n var inside = this._pointInPolygon(p, coords); // NB. works only with polygons (see: https://observablehq.com/@tmcw/understanding-point-in-polygon).\r\n if (inside) results.push(features[i]);\r\n }\r\n }\r\n return results.length ? results : false;\r\n },\r\n\r\n /**\r\n * (EXPERIMENTAL) Based on: https://github.com/Raruto/leaflet-pointable\r\n */\r\n updateBalloon: function(e) {\r\n if (!this._map || !this.options.pointable || !this._map.isPointablePixel() || !this.isPointablePixel()) return;\r\n this._popup = this._popup || new L.Popup();\r\n var points = this.pointInLayer(e.latlng, this.geojson);\r\n if (points) {\r\n var feature = points[0];\r\n var name = feature.properties.name || \"\";\r\n if (name) {\r\n this._popup.setLatLng(e.latlng);\r\n this._popup.setContent('' + name + '');\r\n this._popup.openOn(this._map);\r\n }\r\n } else {\r\n this._map.closePopup(this._popup);\r\n }\r\n },\r\n\r\n});\r\n\r\nL.gridLayer.geoJson = function(geojson, options) {\r\n return new L.GridLayer.GeoJSON(geojson, options);\r\n};\r\n\r\nexport var GridLayer = {\r\n GeoJSON: L.GridLayer.GeoJSON,\r\n};\r\n\r\nexport var gridLayer = {\r\n geoJSON: L.gridLayer.geoJson,\r\n};\r\n"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/leaflet-kmz.js b/dist/leaflet-kmz.js index 3457f05..384e78c 100644 --- a/dist/leaflet-kmz.js +++ b/dist/leaflet-kmz.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jszip"),require("geojson-vt"),require("@tmcw/togeojson"),require("leaflet-pointable")):"function"==typeof define&&define.amd?define(["exports","jszip","geojson-vt","@tmcw/togeojson","leaflet-pointable"],e):e((t=t||self)["leaflet-kmz"]={},t.JSZip,t.geojsonvt,t.toGeoJSON)}(this,function(t,e,i,o){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e,i=i&&i.hasOwnProperty("default")?i.default:i,o=o&&o.hasOwnProperty("default")?o.default:o,L.KMZParser=L.Class.extend({initialize:function(t){L.setOptions(this,t),this.loaders=[]},load:function(t,e){var i=new L.KMZLoader(L.extend({},this.options,e));i.parse(t),this.loaders.push(i)},get:function(t){return t{Promise.all(i._mapZipFiles(t)).then(t=>{Promise.all(i._mapListFiles(t)).then(t=>{var e=this._decodeKMZFolder(t);i._parseKML(e)})})})},_parseKML:function(t){var e=this._decodeKMLString(t),i=this._toXML(e);this._kmlToLayer(i)},_decodeKMLString:function(t){return t instanceof ArrayBuffer?String.fromCharCode.apply(null,new Uint8Array(t)):t},_decodeKMZFolder:function(t){var e=this._listToObject(t),i=this._getKmlDoc(e),o=this._getImageFiles(Object.keys(e)),n=e[i];for(var r in o){var s=o[r],a=e[s];n=this._replaceAll(n,s,a)}return n},_toXML:function(t){return(new DOMParser).parseFromString(t,"text/xml")},_toGeoJSON:function(t){return(o||window.toGeoJSON).kml(t)},_kmlToLayer:function(t){var e=this._toGeoJSON(t);this.interactive&&(this.geojson=L.geoJson(e,{pointToLayer:this._pointToLayer.bind(this),onEachFeature:this._onEachFeature.bind(this)}),this.layer=this.geojson),this.tiled&&(this.gridlayer=L.gridLayer.geoJson(e,{pointable:this.pointable,ballon:this.options.ballon,bindPopup:this.options.bindPopup,bindTooltip:this.options.bindTooltip}),this.layer=this.interactive?L.featureGroup([this.gridlayer,this.geojson]):this.gridlayer),this.layer&&this._onKMZLoaded(this.layer,this.name)},_pointToLayer:function(t,e){return new L.marker(e,{icon:L.icon({iconUrl:this.emptyIcon})})},_onEachFeature:function(t,e){switch(t.geometry.type){case"Point":this._setLayerPointIcon(t,e);break;case"LineString":case"Polygon":case"GeometryCollection":this._setLayerStyle(t,e);break;default:console.warn("Unsupported feature type: "+t.geometry.type,t)}this._setLayerBalloon(t,e)},_onKMZLoaded:function(t,e){this.options.debug&&console.log(t,e),this.callback&&this.callback(t,e)},_setLayerPointIcon:function(t,e){e.setIcon(L.icon({iconSize:[28,28],iconAnchor:[14,14],iconUrl:this.tiled?this.emptyIcon:t.properties.icon}))},_setLayerStyle:function(t,e){var i={weight:1,opacity:0,fillOpacity:0};this.tiled||(t.properties["stroke-width"]&&(i.weight=1.05*t.properties["stroke-width"]),t.properties["stroke-opacity"]&&(i.opacity=t.properties["stroke-opacity"]),t.properties["fill-opacity"]&&(i.fillOpacity=t.properties["fill-opacity"]),t.properties.stroke&&(i.color=t.properties.stroke),t.properties.fill&&(i.fillColor=t.properties.fill)),e.setStyle(i)},_setLayerBalloon:function(t,e){if(this.options.ballon){var i=t.properties.name?t.properties.name:"",o=t.properties.description?t.properties.description:"";(i||o)&&(this.options.bindPopup&&e.bindPopup("
"+i+"
"+o+"
"),this.options.bindTooltip&&e.bindTooltip(""+i+"",{direction:"auto",sticky:!0}))}},_escapeRegExp:function(t){return t.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")},_replaceAll:function(t,e,i){return t.replace(new RegExp(this._escapeRegExp(e),"g"),i)},_mapZipFiles:function(t){return Object.keys(t.files).map(e=>t.files[e]).map(t=>t.async("blob").then(e=>[t.name,e]))},_mapListFiles:function(t){return t.map(t=>Promise.resolve().then(()=>this._readFile(t)))},_listToObject:function(t){return t.reduce(function(t,e){return t[e[0]]=e[1],t},{})},_getFileExt:function(t){return t.split(".").pop().toLowerCase().replace("jpg","jpeg")},_getMimeType:function(t,e){var i="text/plain";return/\.(jpe?g|png|gif|bmp)$/i.test(t)?i="image/"+e:/\.kml$/i.test(t)&&(i="text/plain"),i},_getKmlDoc:function(t){return t["doc.kml"]?"doc.kml":this._getKmlFiles(Object.keys(t))[0]},_getKmlFiles:function(t){return t.filter(t=>/.*\.kml/.test(t))},_getImageFiles:function(t){return t.filter(t=>/\.(jpe?g|png|gif|bmp)$/i.test(t))},_isZipped:function(t){var e=new Uint8Array(t,0,1),i=new Uint8Array(t,1,1);return"PK"===String.fromCharCode(e,i)},_readFile:function(t){var e=t[0],i=t[1],o=this._getFileExt(e),n=this._getMimeType(e,o);return this._fileReader(i,n,e)},_fileReader:function(t,e,i){return new Promise((o,n)=>{var r=new FileReader;r.onload=()=>{var t=r.result;if(-1===e.indexOf("text")){var n=r.result.split(",")[1];t="data:"+e+";base64,"+n}return o([i,t])},-1===e.indexOf("text")?r.readAsDataURL(t):r.readAsText(t)})},_getBinaryContent:function(t,e){try{var i=new window.XMLHttpRequest;i.open("GET",t,!0),i.setRequestHeader("X-Requested-With","XMLHttpRequest"),i.responseType="arraybuffer",i.onreadystatechange=function(o){var n,r;if(4===i.readyState)if(200===i.status||0===i.status){n=null,r=null;try{n=i.response||i.responseText}catch(t){r=new Error(t)}e(r,n)}else e(new Error("Ajax error for "+t+" : "+this.status+" "+this.statusText),null)},i.send()}catch(t){e(new Error(t),null)}},_blobToString:function(t){var e,i;return e=URL.createObjectURL(t),(i=new XMLHttpRequest).open("GET",e,!1),i.send(),URL.revokeObjectURL(e),i.responseText},_blobToBase64:function(t,e){var i=new FileReader;i.onload=function(){var t=i.result.split(",")[1];e(t)},i.readAsDataURL(t)}});var r=L.KMZLoader;L.GridLayer.GeoJSON=L.GridLayer.extend({options:{pointable:!1,ballon:!1,bindPopup:!1,bindTooltip:!1,async:!1,maxZoom:24,tolerance:3,debug:0,extent:4096,buffer:256,icon:{width:28,height:28},styles:{strokeWidth:1,strokeColor:"#f00",strokeOpacity:1,fillColor:"#000",fillOpacity:.25}},initialize:function(t,e){L.setOptions(this,e),L.GridLayer.prototype.initialize.call(this,e),this.tileIndex=(i||window.geojsonvt)(t,this.options),this.geojson=t},onAdd:function(t){L.GridLayer.prototype.onAdd.call(this,t),this.options.ballon&&(this.options.bindPopup&&this._map.on("click",this.updateBalloon,this),this.options.bindTooltip&&this._map.on("mousemove",this.updateBalloon,this))},createTile:function(t){var e=L.DomUtil.create("canvas","leaflet-tile"),i=this.getTileSize();e.width=i.x,e.height=i.y;for(var o=e.getContext("2d"),n=this.tileIndex.getTile(t.z,t.x,t.y),r=n?n.features:[],s=0;so!=h>o&&i<(p-a)*(o-l)/(h-l)+a&&(n=!n)}return n},_getLatLngsPoly:function(t,e){for(var i=[],o=t.geometry||t,n="Polygon"==o.type?o.coordinates[0]:o.coordinates,r=e||0;r"+i+""),this._popup.openOn(this._map))}else this._map.closePopup(this._popup)}}}),L.gridLayer.geoJson=function(t,e){return new L.GridLayer.GeoJSON(t,e)};var s={GeoJSON:L.GridLayer.GeoJSON},a={geoJSON:L.gridLayer.geoJson};t.GridLayer=s,t.KMZLoader=r,t.KMZParser=n,t.gridLayer=a,Object.defineProperty(t,"__esModule",{value:!0})}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jszip"),require("geojson-vt"),require("@tmcw/togeojson"),require("leaflet-pointable")):"function"==typeof define&&define.amd?define(["exports","jszip","geojson-vt","@tmcw/togeojson","leaflet-pointable"],e):e((t=t||self)["leaflet-kmz"]={},t.JSZip,t.geojsonvt,t.toGeoJSON)}(this,function(t,e,i,o){"use strict";e=e&&e.hasOwnProperty("default")?e.default:e,i=i&&i.hasOwnProperty("default")?i.default:i,L.KMZParser=L.Class.extend({initialize:function(t){L.setOptions(this,t),this.loaders=[]},load:function(t,e){var i=new L.KMZLoader(L.extend({},this.options,e));i.parse(t),this.loaders.push(i)},get:function(t){return t{Promise.all(i._mapZipFiles(t)).then(t=>{Promise.all(i._mapListFiles(t)).then(t=>{var e=this._decodeKMZFolder(t);i._parseKML(e)})})})},_parseKML:function(t){var e=this._decodeKMLString(t),i=this._toXML(e);this._kmlToLayer(i)},_decodeKMLString:function(t){return t instanceof ArrayBuffer?String.fromCharCode.apply(null,new Uint8Array(t)):t},_decodeKMZFolder:function(t){var e=this._listToObject(t),i=this._getKmlDoc(e),o=this._getImageFiles(Object.keys(e)),n=e[i];for(var r in o){var s=o[r],a=e[s];n=this._replaceAll(n,s,a)}return n},_toXML:function(t){return(new DOMParser).parseFromString(t,"text/xml")},_toGeoJSON:function(t){return(o||window.toGeoJSON).kml(t)},_kmlToLayer:function(t){var e=this._toGeoJSON(t);this.interactive&&(this.geojson=L.geoJson(e,{pointToLayer:this._pointToLayer.bind(this),onEachFeature:this._onEachFeature.bind(this)}),this.layer=this.geojson),this.tiled&&(this.gridlayer=L.gridLayer.geoJson(e,{pointable:this.pointable,ballon:this.options.ballon,bindPopup:this.options.bindPopup,bindTooltip:this.options.bindTooltip}),this.layer=this.interactive?L.featureGroup([this.gridlayer,this.geojson]):this.gridlayer),this.layer&&this._onKMZLoaded(this.layer,this.name)},_pointToLayer:function(t,e){return new L.marker(e,{icon:L.icon({iconUrl:this.emptyIcon})})},_onEachFeature:function(t,e){switch(t.geometry.type){case"Point":this._setLayerPointIcon(t,e);break;case"LineString":case"Polygon":case"GeometryCollection":this._setLayerStyle(t,e);break;default:console.warn("Unsupported feature type: "+t.geometry.type,t)}this._setLayerBalloon(t,e)},_onKMZLoaded:function(t,e){this.options.debug&&console.log(t,e),this.callback&&this.callback(t,e)},_setLayerPointIcon:function(t,e){e.setIcon(L.icon({iconSize:[28,28],iconAnchor:[14,14],iconUrl:this.tiled?this.emptyIcon:t.properties.icon}))},_setLayerStyle:function(t,e){var i={weight:1,opacity:0,fillOpacity:0};this.tiled||(t.properties["stroke-width"]&&(i.weight=1.05*t.properties["stroke-width"]),t.properties["stroke-opacity"]&&(i.opacity=t.properties["stroke-opacity"]),t.properties["fill-opacity"]&&(i.fillOpacity=t.properties["fill-opacity"]),t.properties.stroke&&(i.color=t.properties.stroke),t.properties.fill&&(i.fillColor=t.properties.fill)),e.setStyle(i)},_setLayerBalloon:function(t,e){if(this.options.ballon){var i=t.properties.name?t.properties.name:"",o=t.properties.description?t.properties.description:"";(i||o)&&(this.options.bindPopup&&e.bindPopup("
"+i+"
"+o+"
"),this.options.bindTooltip&&e.bindTooltip(""+i+"",{direction:"auto",sticky:!0}))}},_escapeRegExp:function(t){return t.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")},_replaceAll:function(t,e,i){return t.replace(new RegExp(this._escapeRegExp(e),"g"),i)},_mapZipFiles:function(t){return Object.keys(t.files).map(e=>t.files[e]).map(t=>t.async("blob").then(e=>[t.name,e]))},_mapListFiles:function(t){return t.map(t=>Promise.resolve().then(()=>this._readFile(t)))},_listToObject:function(t){return t.reduce(function(t,e){return t[e[0]]=e[1],t},{})},_getFileExt:function(t){return t.split(".").pop().toLowerCase().replace("jpg","jpeg")},_getMimeType:function(t,e){var i="text/plain";return/\.(jpe?g|png|gif|bmp)$/i.test(t)?i="image/"+e:/\.kml$/i.test(t)&&(i="text/plain"),i},_getKmlDoc:function(t){return t["doc.kml"]?"doc.kml":this._getKmlFiles(Object.keys(t))[0]},_getKmlFiles:function(t){return t.filter(t=>/.*\.kml/.test(t))},_getImageFiles:function(t){return t.filter(t=>/\.(jpe?g|png|gif|bmp)$/i.test(t))},_isZipped:function(t){var e=new Uint8Array(t,0,1),i=new Uint8Array(t,1,1);return"PK"===String.fromCharCode(e,i)},_readFile:function(t){var e=t[0],i=t[1],o=this._getFileExt(e),n=this._getMimeType(e,o);return this._fileReader(i,n,e)},_fileReader:function(t,e,i){return new Promise((o,n)=>{var r=new FileReader;r.onload=()=>{var t=r.result;if(-1===e.indexOf("text")){var n=r.result.split(",")[1];t="data:"+e+";base64,"+n}return o([i,t])},-1===e.indexOf("text")?r.readAsDataURL(t):r.readAsText(t)})},_getBinaryContent:function(t,e){try{var i=new window.XMLHttpRequest;i.open("GET",t,!0),i.setRequestHeader("X-Requested-With","XMLHttpRequest"),i.responseType="arraybuffer",i.onreadystatechange=function(o){var n,r;if(4===i.readyState)if(200===i.status||0===i.status){n=null,r=null;try{n=i.response||i.responseText}catch(t){r=new Error(t)}e(r,n)}else e(new Error("Ajax error for "+t+" : "+this.status+" "+this.statusText),null)},i.send()}catch(t){e(new Error(t),null)}},_blobToString:function(t){var e,i;return e=URL.createObjectURL(t),(i=new XMLHttpRequest).open("GET",e,!1),i.send(),URL.revokeObjectURL(e),i.responseText},_blobToBase64:function(t,e){var i=new FileReader;i.onload=function(){var t=i.result.split(",")[1];e(t)},i.readAsDataURL(t)}});var r=L.KMZLoader;L.GridLayer.GeoJSON=L.GridLayer.extend({options:{pointable:!1,ballon:!1,bindPopup:!1,bindTooltip:!1,async:!1,maxZoom:24,tolerance:3,debug:0,extent:4096,buffer:256,icon:{width:28,height:28},styles:{strokeWidth:1,strokeColor:"#f00",strokeOpacity:1,fillColor:"#000",fillOpacity:.25}},initialize:function(t,e){L.setOptions(this,e),L.GridLayer.prototype.initialize.call(this,e),this.tileIndex=(i||window.geojsonvt)(t,this.options),this.geojson=t},onAdd:function(t){L.GridLayer.prototype.onAdd.call(this,t),this.options.ballon&&(this.options.bindPopup&&this._map.on("click",this.updateBalloon,this),this.options.bindTooltip&&this._map.on("mousemove",this.updateBalloon,this))},createTile:function(t){var e=L.DomUtil.create("canvas","leaflet-tile"),i=this.getTileSize();e.width=i.x,e.height=i.y;for(var o=e.getContext("2d"),n=this.tileIndex.getTile(t.z,t.x,t.y),r=n?n.features:[],s=0;so!=c>o&&i<(p-a)*(o-l)/(c-l)+a&&(n=!n)}return n},_getLatLngsPoly:function(t,e){for(var i=[],o=t.geometry||t,n="Polygon"==o.type?o.coordinates[0]:o.coordinates,r=e||0;r"+i+""),this._popup.openOn(this._map))}else this._map.closePopup(this._popup)}}}),L.gridLayer.geoJson=function(t,e){return new L.GridLayer.GeoJSON(t,e)};var s={GeoJSON:L.GridLayer.GeoJSON},a={geoJSON:L.gridLayer.geoJson};t.GridLayer=s,t.KMZLoader=r,t.KMZParser=n,t.gridLayer=a,Object.defineProperty(t,"__esModule",{value:!0})}); //# sourceMappingURL=leaflet-kmz.js.map diff --git a/dist/leaflet-kmz.js.map b/dist/leaflet-kmz.js.map index 3da5b8d..3d521c6 100644 --- a/dist/leaflet-kmz.js.map +++ b/dist/leaflet-kmz.js.map @@ -1 +1 @@ -{"version":3,"file":"leaflet-kmz.js","sources":["../src/KMZParser.js","../src/KMZLoader.js","../src/GridLayer.GeoJSON.js"],"sourcesContent":["L.KMZParser = L.Class.extend({\r\n\r\n initialize: function(opts) {\r\n L.setOptions(this, opts);\r\n this.loaders = [];\r\n },\r\n\r\n load: function(kmzUrl, opts) {\r\n var kmzLoader = new L.KMZLoader(L.extend({}, this.options, opts));\r\n kmzLoader.parse(kmzUrl);\r\n this.loaders.push(kmzLoader);\r\n },\r\n\r\n get: function(i) {\r\n return i < this.loaders.length ? this.loaders[i] : false;\r\n },\r\n});\r\n\r\nexport var KMZParser = L.KMZParser;\r\n","import JSZip from 'jszip';\r\nimport geojsonvt from 'geojson-vt';\r\nimport toGeoJSON from '@tmcw/togeojson';\r\n\r\nL.KMZLoader = L.Class.extend({\r\n options: {\r\n tiled: true,\r\n interactive: true,\r\n ballon: true,\r\n bindPopup: true,\r\n bindTooltip: true,\r\n debug: 0,\r\n },\r\n\r\n initialize: function(opts) {\r\n L.setOptions(this, opts);\r\n // Optimized GeoJSON Vector Tiles through \"geojson-vt.js\" library.\r\n this.tiled = 'geojsonvt' in window && this.options.tiled;\r\n // Standard Mouse interactions through default \"leaflet.js\" layers.\r\n this.interactive = this.options.interactive;\r\n // (Experimental) Optimized Mouse interactions through \"geojson-vt.js\" and \"leaflet-pointable.js\" libraries.\r\n this.pointable = this.tiled && !this.options.interactive && this.options.pointable;\r\n this.emptyIcon = 'data:image/png;base64,' + \"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAFElEQVR4XgXAAQ0AAABAMP1L30IDCPwC/o5WcS4AAAAASUVORK5CYII=\";\r\n this.name = this.options.name;\r\n this.callback = opts.onKMZLoaded;\r\n },\r\n\r\n parse: function(kmzUrl) {\r\n this.name = this.name ? this.name : kmzUrl.split('/').pop();\r\n this._load(kmzUrl);\r\n },\r\n\r\n _load: function(url) {\r\n this._getBinaryContent(url, function(err, data) {\r\n if (err != null) console.error(url, err, data);\r\n else this._parse(data);\r\n }.bind(this));\r\n },\r\n\r\n _parse: function(data) {\r\n return this._isZipped(data) ? this._parseKMZ(data) : this._parseKML(data);\r\n },\r\n\r\n _parseKMZ: function(data) {\r\n var that = this;\r\n JSZip.loadAsync(data).then((zip) => {\r\n Promise.all(that._mapZipFiles(zip)).then((list) => {\r\n Promise.all(that._mapListFiles(list)).then((data) => {\r\n var kmlString = this._decodeKMZFolder(data);\r\n that._parseKML(kmlString);\r\n });\r\n });\r\n });\r\n },\r\n\r\n _parseKML: function(data) {\r\n var kmlString = this._decodeKMLString(data);\r\n var xmlDoc = this._toXML(kmlString);\r\n this._kmlToLayer(xmlDoc);\r\n },\r\n\r\n _decodeKMLString: function(data) {\r\n return data instanceof ArrayBuffer ? String.fromCharCode.apply(null, new Uint8Array(data)) : data;\r\n },\r\n\r\n _decodeKMZFolder: function(data) {\r\n var kmzFiles = this._listToObject(data);\r\n var kmlDoc = this._getKmlDoc(kmzFiles);\r\n var images = this._getImageFiles(Object.keys(kmzFiles));\r\n\r\n var kmlString = kmzFiles[kmlDoc];\r\n\r\n // replaces all images with their base64 encoding\r\n for (var i in images) {\r\n var imageUrl = images[i];\r\n var dataUrl = kmzFiles[imageUrl];\r\n kmlString = this._replaceAll(kmlString, imageUrl, dataUrl);\r\n }\r\n return kmlString;\r\n },\r\n\r\n _toXML: function(text) {\r\n return (new DOMParser()).parseFromString(text, 'text/xml');\r\n },\r\n\r\n _toGeoJSON: function(xmlDoc) {\r\n return (toGeoJSON || window.toGeoJSON).kml(xmlDoc);\r\n },\r\n\r\n _kmlToLayer: function(xmlDoc) {\r\n var data = this._toGeoJSON(xmlDoc);\r\n\r\n if (this.interactive) {\r\n this.geojson = L.geoJson(data, {\r\n pointToLayer: this._pointToLayer.bind(this),\r\n onEachFeature: this._onEachFeature.bind(this),\r\n });\r\n this.layer = this.geojson;\r\n }\r\n\r\n if (this.tiled) {\r\n this.gridlayer = L.gridLayer.geoJson(data, {\r\n pointable: this.pointable,\r\n ballon: this.options.ballon,\r\n bindPopup: this.options.bindPopup,\r\n bindTooltip: this.options.bindTooltip,\r\n });\r\n this.layer = this.interactive ? L.featureGroup([this.gridlayer, this.geojson]) : this.gridlayer;\r\n }\r\n\r\n if (this.layer) {\r\n this._onKMZLoaded(this.layer, this.name);\r\n }\r\n },\r\n\r\n _pointToLayer: function(feature, latlng) {\r\n return new L.marker(latlng, {\r\n icon: L.icon({\r\n iconUrl: this.emptyIcon,\r\n }),\r\n });\r\n },\r\n\r\n _onEachFeature: function(feature, layer) {\r\n switch (feature.geometry.type) {\r\n case 'Point':\r\n this._setLayerPointIcon(feature, layer);\r\n break;\r\n case 'LineString':\r\n case 'Polygon':\r\n case 'GeometryCollection':\r\n this._setLayerStyle(feature, layer);\r\n break;\r\n default:\r\n console.warn('Unsupported feature type: ' + feature.geometry.type, feature);\r\n break;\r\n }\r\n this._setLayerBalloon(feature, layer);\r\n },\r\n\r\n _onKMZLoaded: function(layer, name) {\r\n if (this.options.debug) console.log(layer, name);\r\n if (this.callback) this.callback(layer, name);\r\n },\r\n\r\n _setLayerPointIcon: function(feature, layer) {\r\n var width = 28;\r\n var height = 28;\r\n layer.setIcon(L.icon({\r\n iconSize: [width, height],\r\n iconAnchor: [width / 2, height / 2],\r\n iconUrl: this.tiled ? this.emptyIcon : feature.properties.icon,\r\n }));\r\n },\r\n\r\n _setLayerStyle: function(feature, layer) {\r\n var styles = {\r\n weight: 1,\r\n opacity: 0,\r\n fillOpacity: 0,\r\n };\r\n if (!this.tiled) {\r\n if (feature.properties[\"stroke-width\"]) {\r\n styles.weight = feature.properties[\"stroke-width\"] * 1.05;\r\n }\r\n if (feature.properties[\"stroke-opacity\"]) {\r\n styles.opacity = feature.properties[\"stroke-opacity\"];\r\n }\r\n if (feature.properties[\"fill-opacity\"]) {\r\n styles.fillOpacity = feature.properties[\"fill-opacity\"];\r\n }\r\n if (feature.properties.stroke) {\r\n styles.color = feature.properties.stroke;\r\n }\r\n if (feature.properties.fill) {\r\n styles.fillColor = feature.properties.fill;\r\n }\r\n }\r\n layer.setStyle(styles);\r\n },\r\n\r\n _setLayerBalloon: function(feature, layer) {\r\n if (!this.options.ballon) return;\r\n\r\n var name = feature.properties.name ? feature.properties.name : \"\";\r\n var desc = feature.properties.description ? feature.properties.description : \"\";\r\n\r\n if (name || desc) {\r\n if (this.options.bindPopup) {\r\n layer.bindPopup('
' + '' + name + '' + '
' + desc + '
');\r\n }\r\n if (this.options.bindTooltip) {\r\n layer.bindTooltip('' + name + '', {\r\n direction: 'auto',\r\n sticky: true,\r\n });\r\n }\r\n }\r\n },\r\n\r\n _escapeRegExp: function(str) {\r\n return str.replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, \"\\\\$1\");\r\n },\r\n\r\n _replaceAll: function(str, find, replace) {\r\n return str.replace(new RegExp(this._escapeRegExp(find), 'g'), replace);\r\n },\r\n\r\n _mapZipFiles: function(zip) {\r\n return Object.keys(zip.files)\r\n .map((name) => zip.files[name])\r\n .map((entry) => entry\r\n .async(\"blob\")\r\n .then((value) => [entry.name, value]) // [ fileName, stringValue ]\r\n );\r\n },\r\n\r\n _mapListFiles: function(list) {\r\n return list.map(file => Promise.resolve().then(() => {\r\n return this._readFile(file);\r\n }));\r\n },\r\n\r\n _listToObject: function(list) {\r\n return list\r\n .reduce(function(newObj, listElem) {\r\n newObj[listElem[0]] = listElem[1]; // { fileName: stringValue }\r\n return newObj;\r\n }, {} /* NB: do not remove, initial value */ );\r\n },\r\n\r\n _getFileExt: function(filename) {\r\n return filename.split('.').pop().toLowerCase().replace('jpg', 'jpeg');\r\n },\r\n\r\n _getMimeType: function(filename, ext) {\r\n var mime = 'text/plain';\r\n if (/\\.(jpe?g|png|gif|bmp)$/i.test(filename)) {\r\n mime = 'image/' + ext;\r\n } else if (/\\.kml$/i.test(filename)) {\r\n mime = 'text/plain';\r\n }\r\n return mime;\r\n },\r\n\r\n _getKmlDoc: function(files) {\r\n return files[\"doc.kml\"] ? \"doc.kml\" : this._getKmlFiles(Object.keys(files))[0];\r\n },\r\n\r\n _getKmlFiles: function(files) {\r\n return files.filter((file) => /.*\\.kml/.test(file));\r\n },\r\n\r\n _getImageFiles: function(files) {\r\n return files.filter((file) => /\\.(jpe?g|png|gif|bmp)$/i.test(file));\r\n },\r\n\r\n /**\r\n * It checks if a given file begins with PK, if so it's zipped\r\n *\r\n * @link https://en.wikipedia.org/wiki/List_of_file_signatures\r\n */\r\n _isZipped: function(file) {\r\n var P = new Uint8Array(file, 0, 1); // offset, length\r\n var K = new Uint8Array(file, 1, 1);\r\n var PK = String.fromCharCode(P, K);\r\n return 'PK' === PK;\r\n },\r\n\r\n _readFile: function(file) {\r\n var filename = file[0];\r\n var fileblob = file[1];\r\n var ext = this._getFileExt(filename);\r\n var mime = this._getMimeType(filename, ext);\r\n return this._fileReader(fileblob, mime, filename);\r\n },\r\n\r\n _fileReader: function(blob, mime, name) {\r\n return new Promise((resolve, reject) => {\r\n var fr = new FileReader();\r\n fr.onload = () => {\r\n var result = fr.result;\r\n if (mime.indexOf('text') === -1) {\r\n var dataUrl = fr.result;\r\n var base64 = dataUrl.split(',')[1];\r\n result = 'data:' + mime + ';base64,' + base64;\r\n }\r\n return resolve([\r\n name, result\r\n ]);\r\n };\r\n if (mime.indexOf('text') === -1) {\r\n fr.readAsDataURL(blob);\r\n } else {\r\n fr.readAsText(blob);\r\n }\r\n });\r\n },\r\n\r\n _getBinaryContent: function(path, callback) {\r\n try {\r\n var xhr = new window.XMLHttpRequest();\r\n xhr.open('GET', path, true);\r\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\r\n xhr.responseType = \"arraybuffer\";\r\n xhr.onreadystatechange = function(evt) {\r\n var file, err;\r\n if (xhr.readyState === 4) {\r\n if (xhr.status === 200 || xhr.status === 0) {\r\n file = null;\r\n err = null;\r\n try {\r\n file = xhr.response || xhr.responseText;\r\n } catch (e) {\r\n err = new Error(e);\r\n }\r\n callback(err, file);\r\n } else {\r\n callback(new Error(\"Ajax error for \" + path + \" : \" + this.status + \" \" + this.statusText), null);\r\n }\r\n }\r\n };\r\n xhr.send();\r\n } catch (e) {\r\n callback(new Error(e), null);\r\n }\r\n },\r\n\r\n _blobToString: function(b) {\r\n var u, x;\r\n u = URL.createObjectURL(b);\r\n x = new XMLHttpRequest();\r\n x.open('GET', u, false); // although sync, you're not fetching over internet\r\n x.send();\r\n URL.revokeObjectURL(u);\r\n return x.responseText;\r\n },\r\n\r\n _blobToBase64: function(blob, callback) {\r\n var reader = new FileReader();\r\n reader.onload = function() {\r\n var dataUrl = reader.result;\r\n var base64 = dataUrl.split(',')[1];\r\n callback(base64);\r\n };\r\n reader.readAsDataURL(blob);\r\n },\r\n\r\n});\r\n\r\nexport var KMZLoader = L.KMZLoader;\r\n","import geojsonvt from 'geojson-vt';\r\nimport 'leaflet-pointable';\r\n/**\r\n * A plugin combining geojson-vt with leafletjs which is initially inspired by leaflet-geojson-vt.\r\n *\r\n * @author Brandonxiang, Raruto\r\n *\r\n * @link https://github.com/brandonxiang/leaflet-geojson-vt\r\n */\r\nL.GridLayer.GeoJSON = L.GridLayer.extend({\r\n options: {\r\n pointable: false,\r\n ballon: false,\r\n bindPopup: false,\r\n bindTooltip: false,\r\n async: false,\r\n maxZoom: 24,\r\n tolerance: 3,\r\n debug: 0,\r\n extent: 4096,\r\n buffer: 256,\r\n icon: {\r\n width: 28,\r\n height: 28\r\n },\r\n styles: {\r\n strokeWidth: 1,\r\n strokeColor: '#f00',\r\n strokeOpacity: 1.0,\r\n fillColor: '#000',\r\n fillOpacity: 0.25\r\n }\r\n },\r\n\r\n initialize: function(geojson, options) {\r\n L.setOptions(this, options);\r\n L.GridLayer.prototype.initialize.call(this, options);\r\n this.tileIndex = (geojsonvt || window.geojsonvt)(geojson, this.options);\r\n this.geojson = geojson; // eg. saved for advanced \"leaflet-pip\" mouse/click integrations\r\n },\r\n\r\n onAdd: function(map) {\r\n L.GridLayer.prototype.onAdd.call(this, map);\r\n if (this.options.ballon) {\r\n if (this.options.bindPopup) this._map.on(\"click\", this.updateBalloon, this);\r\n if (this.options.bindTooltip) this._map.on(\"mousemove\", this.updateBalloon, this);\r\n }\r\n },\r\n\r\n createTile: function(coords) {\r\n var tile = L.DomUtil.create('canvas', 'leaflet-tile');\r\n var size = this.getTileSize();\r\n tile.width = size.x;\r\n tile.height = size.y;\r\n var ctx = tile.getContext('2d');\r\n\r\n // return the tile so it can be rendered on screen\r\n var tileInfo = this.tileIndex.getTile(coords.z, coords.x, coords.y);\r\n var features = tileInfo ? tileInfo.features : [];\r\n for (var i = 0; i < features.length; i++) {\r\n this._drawFeature(ctx, features[i]);\r\n }\r\n return tile;\r\n },\r\n\r\n _drawFeature: function(ctx, feature) {\r\n ctx.beginPath();\r\n this._setStyle(ctx, feature);\r\n\r\n if (feature.type === 1) this._drawIcon(ctx, feature);\r\n else if (feature.type === 2) this._drawLine(ctx, feature);\r\n else if (feature.type === 3) this._drawPolygon(ctx, feature);\r\n else console.warn('Unsupported feature type: ' + feature.geometry.type, feature);\r\n\r\n ctx.stroke();\r\n },\r\n\r\n _drawIcon: function(ctx, feature) {\r\n var icon = new Image(),\r\n p = feature.geometry[0],\r\n width = this.options.icon.width,\r\n height = this.options.icon.height;\r\n icon.onload = function() {\r\n ctx.drawImage(icon, (p[0] / 16.0) - (width / 2.0), (p[1] / 16.0) - (height / 2.0), width, height);\r\n };\r\n icon.src = feature.tags.icon ? feature.tags.icon : null;\r\n },\r\n\r\n _drawLine: function(ctx, feature) {\r\n for (var j = 0; j < feature.geometry.length; j++) {\r\n var ring = feature.geometry[j];\r\n for (var k = 0; k < ring.length; k++) {\r\n var p = ring[k];\r\n if (k) ctx.lineTo(p[0] / 16.0, p[1] / 16.0);\r\n else ctx.moveTo(p[0] / 16.0, p[1] / 16.0);\r\n }\r\n }\r\n },\r\n\r\n _drawPolygon: function(ctx, feature) {\r\n this._drawLine(ctx, feature);\r\n ctx.fill('evenodd');\r\n },\r\n\r\n _setStyle: function(ctx, feature) {\r\n var style = {};\r\n\r\n if (feature.type === 1) style = this._setPointStyle(feature, style);\r\n else if (feature.type === 2) style = this._setLineStyle(feature, style);\r\n else if (feature.type === 3) style = this._setPolygonStyle(feature, style);\r\n\r\n ctx.lineWidth = style.stroke ? this._setWeight(style.weight) : 0;\r\n ctx.strokeStyle = style.stroke ? this._setOpacity(style.stroke, style.opacity) : {};\r\n ctx.fillStyle = style.fill ? this._setOpacity(style.fill, style.fillOpacity) : {};\r\n },\r\n\r\n _setPointStyle: function(feature, style) {\r\n return style;\r\n },\r\n\r\n _setLineStyle: function(feature, style) {\r\n style.weight = (feature.tags[\"stroke-width\"] ? feature.tags[\"stroke-width\"] : this.options.styles.strokeWidth) * 1.05;\r\n style.opacity = feature.tags[\"stroke-opacity\"] ? feature.tags[\"stroke-opacity\"] : this.options.styles.strokeOpacity;\r\n style.stroke = feature.tags.stroke ? feature.tags.stroke : this.options.styles.strokeColor;\r\n return style;\r\n },\r\n\r\n _setPolygonStyle: function(feature, style) {\r\n style = this._setLineStyle(feature, style);\r\n style.fill = feature.tags.fill ? feature.tags.fill : this.options.styles.fillColor;\r\n style.fillOpacity = feature.tags[\"fill-opacity\"] ? feature.tags[\"fill-opacity\"] : this.options.styles.fillOpacity;\r\n return style;\r\n },\r\n\r\n _setWeight: function(weight) {\r\n return weight || 5;\r\n },\r\n\r\n _setOpacity: function(color, opacity) {\r\n color = color || '#f00';\r\n if (opacity && this._iscolorHex(color)) {\r\n var colorRgb = this._colorRgb(color);\r\n return \"rgba(\" + colorRgb[0] + \",\" + colorRgb[1] + \",\" + colorRgb[2] + \",\" + opacity + \")\";\r\n }\r\n return color;\r\n },\r\n\r\n _iscolorHex: function(color) {\r\n return /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(color.toLowerCase());\r\n },\r\n\r\n _colorRgb: function(color) {\r\n var sColor = color.toLowerCase();\r\n if (sColor.length === 4) {\r\n var sColorNew = \"#\";\r\n for (var i = 1; i < 4; i += 1) {\r\n sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));\r\n }\r\n sColor = sColorNew;\r\n }\r\n var sColorChange = [];\r\n for (var j = 1; j < 7; j += 2) {\r\n sColorChange.push(parseInt(\"0x\" + sColor.slice(j, j + 2)));\r\n }\r\n return sColorChange;\r\n },\r\n\r\n /**\r\n * Point in Polygon: ray-casting algorithm\r\n *\r\n * @link http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html\r\n */\r\n _pointInPolygon: function(point, vs) {\r\n var x = point[0];\r\n var y = point[1];\r\n\r\n var inside = false;\r\n for (var i = 0, j = vs.length - 1; i < vs.length; j = i++) {\r\n var xi = vs[i][0];\r\n var yi = vs[i][1];\r\n var xj = vs[j][0];\r\n var yj = vs[j][1];\r\n\r\n var intersect = ((yi > y) != (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi);\r\n if (intersect) inside = !inside;\r\n }\r\n\r\n return inside;\r\n },\r\n\r\n _getLatLngsPoly: function(feature, i) {\r\n var o = [];\r\n var geometry = feature.geometry || feature;\r\n var coords = geometry.type == \"Polygon\" ? geometry.coordinates[0] : geometry.coordinates;\r\n for (var j = i || 0; j < coords.length; j++) {\r\n o[i++] = [coords[j][0], coords[j][1]];\r\n }\r\n return o.length ? o : false;\r\n },\r\n\r\n _getLatLngsPoint: function(feature, i) {\r\n var o = [];\r\n var geometry = feature.geometry || feature;\r\n var coords = geometry.coordinates;\r\n o[i || 0] = [coords[0], coords[1]];\r\n return o.length ? o : false;\r\n },\r\n\r\n _getLatLngs: function(feature, i) {\r\n var o = [];\r\n i = i || 0;\r\n var coords;\r\n\r\n var geometry = feature.geometry || feature;\r\n var type = geometry.type;\r\n\r\n if (type == \"Point\") {\r\n coords = this._getLatLngsPoint(feature, i);\r\n if (coords) Array.prototype.push.apply(o, coords);\r\n } else if (type == \"LineString\" || type == \"Polygon\") {\r\n coords = this._getLatLngsPoly(feature, i);\r\n if (coords) Array.prototype.push.apply(o, coords);\r\n } else if (type == \"GeometryCollection\") {\r\n var polys = geometry.geometries;\r\n for (var j = 0; j < polys.length; j++) {\r\n coords = this._getLatLngs(polys[j], i);\r\n if (coords) Array.prototype.push.apply(o, coords);\r\n }\r\n } else {\r\n console.warn(\"Unsupported feature type: \" + type);\r\n }\r\n return o.length ? o : false;\r\n },\r\n\r\n /**\r\n * (EXPERIMENTAL) Based on: https://github.com/mapbox/leaflet-pip\r\n *\r\n * TODO: add/check support for Points, Lines and \"donuts\" Polygons\r\n */\r\n pointInLayer: function(p, layer, first) {\r\n if (p instanceof L.LatLng) p = [p.lng, p.lat];\r\n var results = [];\r\n\r\n layer = layer || this.geojson;\r\n first = first || true;\r\n features = layer.features;\r\n\r\n for (var i = 0; i < features.length; i++) {\r\n if (first && results.length) break;\r\n var coords = this._getLatLngs(features[i]);\r\n if (coords) {\r\n var inside = this._pointInPolygon(p, coords); // NB. works only with polygons (see: https://observablehq.com/@tmcw/understanding-point-in-polygon).\r\n if (inside) results.push(features[i]);\r\n }\r\n }\r\n return results.length ? results : false;\r\n },\r\n\r\n /**\r\n * (EXPERIMENTAL) Based on: https://github.com/Raruto/leaflet-pointable\r\n */\r\n updateBalloon: function(e) {\r\n if (!this._map || !this.options.pointable || !this._map.isPointablePixel() || !this.isPointablePixel()) return;\r\n this._popup = this._popup || new L.Popup();\r\n var points = this.pointInLayer(e.latlng, this.geojson);\r\n if (points) {\r\n var feature = points[0];\r\n var name = feature.properties.name || \"\";\r\n if (name) {\r\n this._popup.setLatLng(e.latlng);\r\n this._popup.setContent('' + name + '');\r\n this._popup.openOn(this._map);\r\n }\r\n } else {\r\n this._map.closePopup(this._popup);\r\n }\r\n },\r\n\r\n});\r\n\r\nL.gridLayer.geoJson = function(geojson, options) {\r\n return new L.GridLayer.GeoJSON(geojson, options);\r\n};\r\n\r\nexport var GridLayer = {\r\n GeoJSON: L.GridLayer.GeoJSON,\r\n};\r\n\r\nexport var gridLayer = {\r\n geoJSON: L.gridLayer.geoJson,\r\n};\r\n"],"names":["L","KMZParser","Class","extend","initialize","opts","setOptions","this","loaders","load","kmzUrl","kmzLoader","KMZLoader","options","parse","push","get","i","length","tiled","interactive","ballon","bindPopup","bindTooltip","debug","window","pointable","emptyIcon","name","callback","onKMZLoaded","split","pop","_load","url","_getBinaryContent","err","data","console","error","_parse","bind","_isZipped","_parseKMZ","_parseKML","that","JSZip","loadAsync","then","zip","Promise","all","_mapZipFiles","list","_mapListFiles","kmlString","_decodeKMZFolder","_decodeKMLString","xmlDoc","_toXML","_kmlToLayer","ArrayBuffer","String","fromCharCode","apply","Uint8Array","kmzFiles","_listToObject","kmlDoc","_getKmlDoc","images","_getImageFiles","Object","keys","imageUrl","dataUrl","_replaceAll","text","DOMParser","parseFromString","_toGeoJSON","toGeoJSON","kml","geojson","geoJson","pointToLayer","_pointToLayer","onEachFeature","_onEachFeature","layer","gridlayer","gridLayer","featureGroup","_onKMZLoaded","feature","latlng","marker","icon","iconUrl","geometry","type","_setLayerPointIcon","_setLayerStyle","warn","_setLayerBalloon","log","setIcon","iconSize","iconAnchor","width","height","properties","styles","weight","opacity","fillOpacity","stroke","color","fill","fillColor","setStyle","desc","description","direction","sticky","_escapeRegExp","str","replace","find","RegExp","files","map","entry","async","value","file","resolve","_readFile","reduce","newObj","listElem","_getFileExt","filename","toLowerCase","_getMimeType","ext","mime","test","_getKmlFiles","filter","P","K","fileblob","_fileReader","blob","reject","fr","FileReader","onload","result","indexOf","base64","readAsDataURL","readAsText","path","xhr","XMLHttpRequest","open","setRequestHeader","responseType","onreadystatechange","evt","readyState","status","response","responseText","e","Error","statusText","send","_blobToString","b","u","x","URL","createObjectURL","revokeObjectURL","_blobToBase64","reader","GridLayer","GeoJSON","maxZoom","tolerance","extent","buffer","strokeWidth","strokeColor","strokeOpacity","prototype","call","tileIndex","geojsonvt","onAdd","_map","on","updateBalloon","createTile","coords","tile","DomUtil","create","size","getTileSize","y","ctx","getContext","tileInfo","getTile","z","features","_drawFeature","beginPath","_setStyle","_drawIcon","_drawLine","_drawPolygon","Image","p","drawImage","src","tags","j","ring","k","lineTo","moveTo","style","_setPointStyle","_setLineStyle","_setPolygonStyle","lineWidth","_setWeight","strokeStyle","_setOpacity","fillStyle","_iscolorHex","colorRgb","_colorRgb","sColor","sColorNew","slice","concat","sColorChange","parseInt","_pointInPolygon","point","vs","inside","xi","yi","xj","yj","_getLatLngsPoly","o","coordinates","_getLatLngsPoint","_getLatLngs","Array","polys","geometries","pointInLayer","first","LatLng","lng","lat","results","isPointablePixel","_popup","Popup","points","setLatLng","setContent","openOn","closePopup","geoJSON"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"leaflet-kmz.js","sources":["../src/KMZParser.js","../src/KMZLoader.js","../src/GridLayer.GeoJSON.js"],"sourcesContent":["L.KMZParser = L.Class.extend({\r\n\r\n initialize: function(opts) {\r\n L.setOptions(this, opts);\r\n this.loaders = [];\r\n },\r\n\r\n load: function(kmzUrl, opts) {\r\n var kmzLoader = new L.KMZLoader(L.extend({}, this.options, opts));\r\n kmzLoader.parse(kmzUrl);\r\n this.loaders.push(kmzLoader);\r\n },\r\n\r\n get: function(i) {\r\n return i < this.loaders.length ? this.loaders[i] : false;\r\n },\r\n});\r\n\r\nexport var KMZParser = L.KMZParser;\r\n","import JSZip from 'jszip';\r\nimport geojsonvt from 'geojson-vt';\r\nimport * as toGeoJSON from '@tmcw/togeojson';\r\n\r\nL.KMZLoader = L.Class.extend({\r\n options: {\r\n tiled: true,\r\n interactive: true,\r\n ballon: true,\r\n bindPopup: true,\r\n bindTooltip: true,\r\n debug: 0,\r\n },\r\n\r\n initialize: function(opts) {\r\n L.setOptions(this, opts);\r\n // Optimized GeoJSON Vector Tiles through \"geojson-vt.js\" library.\r\n this.tiled = 'geojsonvt' in window && this.options.tiled;\r\n // Standard Mouse interactions through default \"leaflet.js\" layers.\r\n this.interactive = this.options.interactive;\r\n // (Experimental) Optimized Mouse interactions through \"geojson-vt.js\" and \"leaflet-pointable.js\" libraries.\r\n this.pointable = this.tiled && !this.options.interactive && this.options.pointable;\r\n this.emptyIcon = 'data:image/png;base64,' + \"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAFElEQVR4XgXAAQ0AAABAMP1L30IDCPwC/o5WcS4AAAAASUVORK5CYII=\";\r\n this.name = this.options.name;\r\n this.callback = opts.onKMZLoaded;\r\n },\r\n\r\n parse: function(kmzUrl) {\r\n this.name = this.name ? this.name : kmzUrl.split('/').pop();\r\n this._load(kmzUrl);\r\n },\r\n\r\n _load: function(url) {\r\n this._getBinaryContent(url, function(err, data) {\r\n if (err != null) console.error(url, err, data);\r\n else this._parse(data);\r\n }.bind(this));\r\n },\r\n\r\n _parse: function(data) {\r\n return this._isZipped(data) ? this._parseKMZ(data) : this._parseKML(data);\r\n },\r\n\r\n _parseKMZ: function(data) {\r\n var that = this;\r\n JSZip.loadAsync(data).then((zip) => {\r\n Promise.all(that._mapZipFiles(zip)).then((list) => {\r\n Promise.all(that._mapListFiles(list)).then((data) => {\r\n var kmlString = this._decodeKMZFolder(data);\r\n that._parseKML(kmlString);\r\n });\r\n });\r\n });\r\n },\r\n\r\n _parseKML: function(data) {\r\n var kmlString = this._decodeKMLString(data);\r\n var xmlDoc = this._toXML(kmlString);\r\n this._kmlToLayer(xmlDoc);\r\n },\r\n\r\n _decodeKMLString: function(data) {\r\n return data instanceof ArrayBuffer ? String.fromCharCode.apply(null, new Uint8Array(data)) : data;\r\n },\r\n\r\n _decodeKMZFolder: function(data) {\r\n var kmzFiles = this._listToObject(data);\r\n var kmlDoc = this._getKmlDoc(kmzFiles);\r\n var images = this._getImageFiles(Object.keys(kmzFiles));\r\n\r\n var kmlString = kmzFiles[kmlDoc];\r\n\r\n // replaces all images with their base64 encoding\r\n for (var i in images) {\r\n var imageUrl = images[i];\r\n var dataUrl = kmzFiles[imageUrl];\r\n kmlString = this._replaceAll(kmlString, imageUrl, dataUrl);\r\n }\r\n return kmlString;\r\n },\r\n\r\n _toXML: function(text) {\r\n return (new DOMParser()).parseFromString(text, 'text/xml');\r\n },\r\n\r\n _toGeoJSON: function(xmlDoc) {\r\n return (toGeoJSON || window.toGeoJSON).kml(xmlDoc);\r\n },\r\n\r\n _kmlToLayer: function(xmlDoc) {\r\n var data = this._toGeoJSON(xmlDoc);\r\n\r\n if (this.interactive) {\r\n this.geojson = L.geoJson(data, {\r\n pointToLayer: this._pointToLayer.bind(this),\r\n onEachFeature: this._onEachFeature.bind(this),\r\n });\r\n this.layer = this.geojson;\r\n }\r\n\r\n if (this.tiled) {\r\n this.gridlayer = L.gridLayer.geoJson(data, {\r\n pointable: this.pointable,\r\n ballon: this.options.ballon,\r\n bindPopup: this.options.bindPopup,\r\n bindTooltip: this.options.bindTooltip,\r\n });\r\n this.layer = this.interactive ? L.featureGroup([this.gridlayer, this.geojson]) : this.gridlayer;\r\n }\r\n\r\n if (this.layer) {\r\n this._onKMZLoaded(this.layer, this.name);\r\n }\r\n },\r\n\r\n _pointToLayer: function(feature, latlng) {\r\n return new L.marker(latlng, {\r\n icon: L.icon({\r\n iconUrl: this.emptyIcon,\r\n }),\r\n });\r\n },\r\n\r\n _onEachFeature: function(feature, layer) {\r\n switch (feature.geometry.type) {\r\n case 'Point':\r\n this._setLayerPointIcon(feature, layer);\r\n break;\r\n case 'LineString':\r\n case 'Polygon':\r\n case 'GeometryCollection':\r\n this._setLayerStyle(feature, layer);\r\n break;\r\n default:\r\n console.warn('Unsupported feature type: ' + feature.geometry.type, feature);\r\n break;\r\n }\r\n this._setLayerBalloon(feature, layer);\r\n },\r\n\r\n _onKMZLoaded: function(layer, name) {\r\n if (this.options.debug) console.log(layer, name);\r\n if (this.callback) this.callback(layer, name);\r\n },\r\n\r\n _setLayerPointIcon: function(feature, layer) {\r\n var width = 28;\r\n var height = 28;\r\n layer.setIcon(L.icon({\r\n iconSize: [width, height],\r\n iconAnchor: [width / 2, height / 2],\r\n iconUrl: this.tiled ? this.emptyIcon : feature.properties.icon,\r\n }));\r\n },\r\n\r\n _setLayerStyle: function(feature, layer) {\r\n var styles = {\r\n weight: 1,\r\n opacity: 0,\r\n fillOpacity: 0,\r\n };\r\n if (!this.tiled) {\r\n if (feature.properties[\"stroke-width\"]) {\r\n styles.weight = feature.properties[\"stroke-width\"] * 1.05;\r\n }\r\n if (feature.properties[\"stroke-opacity\"]) {\r\n styles.opacity = feature.properties[\"stroke-opacity\"];\r\n }\r\n if (feature.properties[\"fill-opacity\"]) {\r\n styles.fillOpacity = feature.properties[\"fill-opacity\"];\r\n }\r\n if (feature.properties.stroke) {\r\n styles.color = feature.properties.stroke;\r\n }\r\n if (feature.properties.fill) {\r\n styles.fillColor = feature.properties.fill;\r\n }\r\n }\r\n layer.setStyle(styles);\r\n },\r\n\r\n _setLayerBalloon: function(feature, layer) {\r\n if (!this.options.ballon) return;\r\n\r\n var name = feature.properties.name ? feature.properties.name : \"\";\r\n var desc = feature.properties.description ? feature.properties.description : \"\";\r\n\r\n if (name || desc) {\r\n if (this.options.bindPopup) {\r\n layer.bindPopup('
' + '' + name + '' + '
' + desc + '
');\r\n }\r\n if (this.options.bindTooltip) {\r\n layer.bindTooltip('' + name + '', {\r\n direction: 'auto',\r\n sticky: true,\r\n });\r\n }\r\n }\r\n },\r\n\r\n _escapeRegExp: function(str) {\r\n return str.replace(/([.*+?^=!:${}()|\\[\\]\\/\\\\])/g, \"\\\\$1\");\r\n },\r\n\r\n _replaceAll: function(str, find, replace) {\r\n return str.replace(new RegExp(this._escapeRegExp(find), 'g'), replace);\r\n },\r\n\r\n _mapZipFiles: function(zip) {\r\n return Object.keys(zip.files)\r\n .map((name) => zip.files[name])\r\n .map((entry) => entry\r\n .async(\"blob\")\r\n .then((value) => [entry.name, value]) // [ fileName, stringValue ]\r\n );\r\n },\r\n\r\n _mapListFiles: function(list) {\r\n return list.map(file => Promise.resolve().then(() => {\r\n return this._readFile(file);\r\n }));\r\n },\r\n\r\n _listToObject: function(list) {\r\n return list\r\n .reduce(function(newObj, listElem) {\r\n newObj[listElem[0]] = listElem[1]; // { fileName: stringValue }\r\n return newObj;\r\n }, {} /* NB: do not remove, initial value */ );\r\n },\r\n\r\n _getFileExt: function(filename) {\r\n return filename.split('.').pop().toLowerCase().replace('jpg', 'jpeg');\r\n },\r\n\r\n _getMimeType: function(filename, ext) {\r\n var mime = 'text/plain';\r\n if (/\\.(jpe?g|png|gif|bmp)$/i.test(filename)) {\r\n mime = 'image/' + ext;\r\n } else if (/\\.kml$/i.test(filename)) {\r\n mime = 'text/plain';\r\n }\r\n return mime;\r\n },\r\n\r\n _getKmlDoc: function(files) {\r\n return files[\"doc.kml\"] ? \"doc.kml\" : this._getKmlFiles(Object.keys(files))[0];\r\n },\r\n\r\n _getKmlFiles: function(files) {\r\n return files.filter((file) => /.*\\.kml/.test(file));\r\n },\r\n\r\n _getImageFiles: function(files) {\r\n return files.filter((file) => /\\.(jpe?g|png|gif|bmp)$/i.test(file));\r\n },\r\n\r\n /**\r\n * It checks if a given file begins with PK, if so it's zipped\r\n *\r\n * @link https://en.wikipedia.org/wiki/List_of_file_signatures\r\n */\r\n _isZipped: function(file) {\r\n var P = new Uint8Array(file, 0, 1); // offset, length\r\n var K = new Uint8Array(file, 1, 1);\r\n var PK = String.fromCharCode(P, K);\r\n return 'PK' === PK;\r\n },\r\n\r\n _readFile: function(file) {\r\n var filename = file[0];\r\n var fileblob = file[1];\r\n var ext = this._getFileExt(filename);\r\n var mime = this._getMimeType(filename, ext);\r\n return this._fileReader(fileblob, mime, filename);\r\n },\r\n\r\n _fileReader: function(blob, mime, name) {\r\n return new Promise((resolve, reject) => {\r\n var fr = new FileReader();\r\n fr.onload = () => {\r\n var result = fr.result;\r\n if (mime.indexOf('text') === -1) {\r\n var dataUrl = fr.result;\r\n var base64 = dataUrl.split(',')[1];\r\n result = 'data:' + mime + ';base64,' + base64;\r\n }\r\n return resolve([\r\n name, result\r\n ]);\r\n };\r\n if (mime.indexOf('text') === -1) {\r\n fr.readAsDataURL(blob);\r\n } else {\r\n fr.readAsText(blob);\r\n }\r\n });\r\n },\r\n\r\n _getBinaryContent: function(path, callback) {\r\n try {\r\n var xhr = new window.XMLHttpRequest();\r\n xhr.open('GET', path, true);\r\n xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\r\n xhr.responseType = \"arraybuffer\";\r\n xhr.onreadystatechange = function(evt) {\r\n var file, err;\r\n if (xhr.readyState === 4) {\r\n if (xhr.status === 200 || xhr.status === 0) {\r\n file = null;\r\n err = null;\r\n try {\r\n file = xhr.response || xhr.responseText;\r\n } catch (e) {\r\n err = new Error(e);\r\n }\r\n callback(err, file);\r\n } else {\r\n callback(new Error(\"Ajax error for \" + path + \" : \" + this.status + \" \" + this.statusText), null);\r\n }\r\n }\r\n };\r\n xhr.send();\r\n } catch (e) {\r\n callback(new Error(e), null);\r\n }\r\n },\r\n\r\n _blobToString: function(b) {\r\n var u, x;\r\n u = URL.createObjectURL(b);\r\n x = new XMLHttpRequest();\r\n x.open('GET', u, false); // although sync, you're not fetching over internet\r\n x.send();\r\n URL.revokeObjectURL(u);\r\n return x.responseText;\r\n },\r\n\r\n _blobToBase64: function(blob, callback) {\r\n var reader = new FileReader();\r\n reader.onload = function() {\r\n var dataUrl = reader.result;\r\n var base64 = dataUrl.split(',')[1];\r\n callback(base64);\r\n };\r\n reader.readAsDataURL(blob);\r\n },\r\n\r\n});\r\n\r\nexport var KMZLoader = L.KMZLoader;\r\n","import geojsonvt from 'geojson-vt';\r\nimport 'leaflet-pointable';\r\n/**\r\n * A plugin combining geojson-vt with leafletjs which is initially inspired by leaflet-geojson-vt.\r\n *\r\n * @author Brandonxiang, Raruto\r\n *\r\n * @link https://github.com/brandonxiang/leaflet-geojson-vt\r\n */\r\nL.GridLayer.GeoJSON = L.GridLayer.extend({\r\n options: {\r\n pointable: false,\r\n ballon: false,\r\n bindPopup: false,\r\n bindTooltip: false,\r\n async: false,\r\n maxZoom: 24,\r\n tolerance: 3,\r\n debug: 0,\r\n extent: 4096,\r\n buffer: 256,\r\n icon: {\r\n width: 28,\r\n height: 28\r\n },\r\n styles: {\r\n strokeWidth: 1,\r\n strokeColor: '#f00',\r\n strokeOpacity: 1.0,\r\n fillColor: '#000',\r\n fillOpacity: 0.25\r\n }\r\n },\r\n\r\n initialize: function(geojson, options) {\r\n L.setOptions(this, options);\r\n L.GridLayer.prototype.initialize.call(this, options);\r\n this.tileIndex = (geojsonvt || window.geojsonvt)(geojson, this.options);\r\n this.geojson = geojson; // eg. saved for advanced \"leaflet-pip\" mouse/click integrations\r\n },\r\n\r\n onAdd: function(map) {\r\n L.GridLayer.prototype.onAdd.call(this, map);\r\n if (this.options.ballon) {\r\n if (this.options.bindPopup) this._map.on(\"click\", this.updateBalloon, this);\r\n if (this.options.bindTooltip) this._map.on(\"mousemove\", this.updateBalloon, this);\r\n }\r\n },\r\n\r\n createTile: function(coords) {\r\n var tile = L.DomUtil.create('canvas', 'leaflet-tile');\r\n var size = this.getTileSize();\r\n tile.width = size.x;\r\n tile.height = size.y;\r\n var ctx = tile.getContext('2d');\r\n\r\n // return the tile so it can be rendered on screen\r\n var tileInfo = this.tileIndex.getTile(coords.z, coords.x, coords.y);\r\n var features = tileInfo ? tileInfo.features : [];\r\n for (var i = 0; i < features.length; i++) {\r\n this._drawFeature(ctx, features[i]);\r\n }\r\n return tile;\r\n },\r\n\r\n _drawFeature: function(ctx, feature) {\r\n ctx.beginPath();\r\n this._setStyle(ctx, feature);\r\n\r\n if (feature.type === 1) this._drawIcon(ctx, feature);\r\n else if (feature.type === 2) this._drawLine(ctx, feature);\r\n else if (feature.type === 3) this._drawPolygon(ctx, feature);\r\n else console.warn('Unsupported feature type: ' + feature.geometry.type, feature);\r\n\r\n ctx.stroke();\r\n },\r\n\r\n _drawIcon: function(ctx, feature) {\r\n var icon = new Image(),\r\n p = feature.geometry[0],\r\n width = this.options.icon.width,\r\n height = this.options.icon.height;\r\n icon.onload = function() {\r\n ctx.drawImage(icon, (p[0] / 16.0) - (width / 2.0), (p[1] / 16.0) - (height / 2.0), width, height);\r\n };\r\n icon.src = feature.tags.icon ? feature.tags.icon : null;\r\n },\r\n\r\n _drawLine: function(ctx, feature) {\r\n for (var j = 0; j < feature.geometry.length; j++) {\r\n var ring = feature.geometry[j];\r\n for (var k = 0; k < ring.length; k++) {\r\n var p = ring[k];\r\n if (k) ctx.lineTo(p[0] / 16.0, p[1] / 16.0);\r\n else ctx.moveTo(p[0] / 16.0, p[1] / 16.0);\r\n }\r\n }\r\n },\r\n\r\n _drawPolygon: function(ctx, feature) {\r\n this._drawLine(ctx, feature);\r\n ctx.fill('evenodd');\r\n },\r\n\r\n _setStyle: function(ctx, feature) {\r\n var style = {};\r\n\r\n if (feature.type === 1) style = this._setPointStyle(feature, style);\r\n else if (feature.type === 2) style = this._setLineStyle(feature, style);\r\n else if (feature.type === 3) style = this._setPolygonStyle(feature, style);\r\n\r\n ctx.lineWidth = style.stroke ? this._setWeight(style.weight) : 0;\r\n ctx.strokeStyle = style.stroke ? this._setOpacity(style.stroke, style.opacity) : {};\r\n ctx.fillStyle = style.fill ? this._setOpacity(style.fill, style.fillOpacity) : {};\r\n },\r\n\r\n _setPointStyle: function(feature, style) {\r\n return style;\r\n },\r\n\r\n _setLineStyle: function(feature, style) {\r\n style.weight = (feature.tags[\"stroke-width\"] ? feature.tags[\"stroke-width\"] : this.options.styles.strokeWidth) * 1.05;\r\n style.opacity = feature.tags[\"stroke-opacity\"] ? feature.tags[\"stroke-opacity\"] : this.options.styles.strokeOpacity;\r\n style.stroke = feature.tags.stroke ? feature.tags.stroke : this.options.styles.strokeColor;\r\n return style;\r\n },\r\n\r\n _setPolygonStyle: function(feature, style) {\r\n style = this._setLineStyle(feature, style);\r\n style.fill = feature.tags.fill ? feature.tags.fill : this.options.styles.fillColor;\r\n style.fillOpacity = feature.tags[\"fill-opacity\"] ? feature.tags[\"fill-opacity\"] : this.options.styles.fillOpacity;\r\n return style;\r\n },\r\n\r\n _setWeight: function(weight) {\r\n return weight || 5;\r\n },\r\n\r\n _setOpacity: function(color, opacity) {\r\n color = color || '#f00';\r\n if (opacity && this._iscolorHex(color)) {\r\n var colorRgb = this._colorRgb(color);\r\n return \"rgba(\" + colorRgb[0] + \",\" + colorRgb[1] + \",\" + colorRgb[2] + \",\" + opacity + \")\";\r\n }\r\n return color;\r\n },\r\n\r\n _iscolorHex: function(color) {\r\n return /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/.test(color.toLowerCase());\r\n },\r\n\r\n _colorRgb: function(color) {\r\n var sColor = color.toLowerCase();\r\n if (sColor.length === 4) {\r\n var sColorNew = \"#\";\r\n for (var i = 1; i < 4; i += 1) {\r\n sColorNew += sColor.slice(i, i + 1).concat(sColor.slice(i, i + 1));\r\n }\r\n sColor = sColorNew;\r\n }\r\n var sColorChange = [];\r\n for (var j = 1; j < 7; j += 2) {\r\n sColorChange.push(parseInt(\"0x\" + sColor.slice(j, j + 2)));\r\n }\r\n return sColorChange;\r\n },\r\n\r\n /**\r\n * Point in Polygon: ray-casting algorithm\r\n *\r\n * @link http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html\r\n */\r\n _pointInPolygon: function(point, vs) {\r\n var x = point[0];\r\n var y = point[1];\r\n\r\n var inside = false;\r\n for (var i = 0, j = vs.length - 1; i < vs.length; j = i++) {\r\n var xi = vs[i][0];\r\n var yi = vs[i][1];\r\n var xj = vs[j][0];\r\n var yj = vs[j][1];\r\n\r\n var intersect = ((yi > y) != (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi);\r\n if (intersect) inside = !inside;\r\n }\r\n\r\n return inside;\r\n },\r\n\r\n _getLatLngsPoly: function(feature, i) {\r\n var o = [];\r\n var geometry = feature.geometry || feature;\r\n var coords = geometry.type == \"Polygon\" ? geometry.coordinates[0] : geometry.coordinates;\r\n for (var j = i || 0; j < coords.length; j++) {\r\n o[i++] = [coords[j][0], coords[j][1]];\r\n }\r\n return o.length ? o : false;\r\n },\r\n\r\n _getLatLngsPoint: function(feature, i) {\r\n var o = [];\r\n var geometry = feature.geometry || feature;\r\n var coords = geometry.coordinates;\r\n o[i || 0] = [coords[0], coords[1]];\r\n return o.length ? o : false;\r\n },\r\n\r\n _getLatLngs: function(feature, i) {\r\n var o = [];\r\n i = i || 0;\r\n var coords;\r\n\r\n var geometry = feature.geometry || feature;\r\n var type = geometry.type;\r\n\r\n if (type == \"Point\") {\r\n coords = this._getLatLngsPoint(feature, i);\r\n if (coords) Array.prototype.push.apply(o, coords);\r\n } else if (type == \"LineString\" || type == \"Polygon\") {\r\n coords = this._getLatLngsPoly(feature, i);\r\n if (coords) Array.prototype.push.apply(o, coords);\r\n } else if (type == \"GeometryCollection\") {\r\n var polys = geometry.geometries;\r\n for (var j = 0; j < polys.length; j++) {\r\n coords = this._getLatLngs(polys[j], i);\r\n if (coords) Array.prototype.push.apply(o, coords);\r\n }\r\n } else {\r\n console.warn(\"Unsupported feature type: \" + type);\r\n }\r\n return o.length ? o : false;\r\n },\r\n\r\n /**\r\n * (EXPERIMENTAL) Based on: https://github.com/mapbox/leaflet-pip\r\n *\r\n * TODO: add/check support for Points, Lines and \"donuts\" Polygons\r\n */\r\n pointInLayer: function(p, layer, first) {\r\n if (p instanceof L.LatLng) p = [p.lng, p.lat];\r\n var results = [];\r\n\r\n layer = layer || this.geojson;\r\n first = first || true;\r\n features = layer.features;\r\n\r\n for (var i = 0; i < features.length; i++) {\r\n if (first && results.length) break;\r\n var coords = this._getLatLngs(features[i]);\r\n if (coords) {\r\n var inside = this._pointInPolygon(p, coords); // NB. works only with polygons (see: https://observablehq.com/@tmcw/understanding-point-in-polygon).\r\n if (inside) results.push(features[i]);\r\n }\r\n }\r\n return results.length ? results : false;\r\n },\r\n\r\n /**\r\n * (EXPERIMENTAL) Based on: https://github.com/Raruto/leaflet-pointable\r\n */\r\n updateBalloon: function(e) {\r\n if (!this._map || !this.options.pointable || !this._map.isPointablePixel() || !this.isPointablePixel()) return;\r\n this._popup = this._popup || new L.Popup();\r\n var points = this.pointInLayer(e.latlng, this.geojson);\r\n if (points) {\r\n var feature = points[0];\r\n var name = feature.properties.name || \"\";\r\n if (name) {\r\n this._popup.setLatLng(e.latlng);\r\n this._popup.setContent('' + name + '');\r\n this._popup.openOn(this._map);\r\n }\r\n } else {\r\n this._map.closePopup(this._popup);\r\n }\r\n },\r\n\r\n});\r\n\r\nL.gridLayer.geoJson = function(geojson, options) {\r\n return new L.GridLayer.GeoJSON(geojson, options);\r\n};\r\n\r\nexport var GridLayer = {\r\n GeoJSON: L.GridLayer.GeoJSON,\r\n};\r\n\r\nexport var gridLayer = {\r\n geoJSON: L.gridLayer.geoJson,\r\n};\r\n"],"names":["L","KMZParser","Class","extend","initialize","opts","setOptions","this","loaders","load","kmzUrl","kmzLoader","KMZLoader","options","parse","push","get","i","length","tiled","interactive","ballon","bindPopup","bindTooltip","debug","window","pointable","emptyIcon","name","callback","onKMZLoaded","split","pop","_load","url","_getBinaryContent","err","data","console","error","_parse","bind","_isZipped","_parseKMZ","_parseKML","that","JSZip","loadAsync","then","zip","Promise","all","_mapZipFiles","list","_mapListFiles","kmlString","_decodeKMZFolder","_decodeKMLString","xmlDoc","_toXML","_kmlToLayer","ArrayBuffer","String","fromCharCode","apply","Uint8Array","kmzFiles","_listToObject","kmlDoc","_getKmlDoc","images","_getImageFiles","Object","keys","imageUrl","dataUrl","_replaceAll","text","DOMParser","parseFromString","_toGeoJSON","toGeoJSON","kml","geojson","geoJson","pointToLayer","_pointToLayer","onEachFeature","_onEachFeature","layer","gridlayer","gridLayer","featureGroup","_onKMZLoaded","feature","latlng","marker","icon","iconUrl","geometry","type","_setLayerPointIcon","_setLayerStyle","warn","_setLayerBalloon","log","setIcon","iconSize","iconAnchor","width","height","properties","styles","weight","opacity","fillOpacity","stroke","color","fill","fillColor","setStyle","desc","description","direction","sticky","_escapeRegExp","str","replace","find","RegExp","files","map","entry","async","value","file","resolve","_readFile","reduce","newObj","listElem","_getFileExt","filename","toLowerCase","_getMimeType","ext","mime","test","_getKmlFiles","filter","P","K","fileblob","_fileReader","blob","reject","fr","FileReader","onload","result","indexOf","base64","readAsDataURL","readAsText","path","xhr","XMLHttpRequest","open","setRequestHeader","responseType","onreadystatechange","evt","readyState","status","response","responseText","e","Error","statusText","send","_blobToString","b","u","x","URL","createObjectURL","revokeObjectURL","_blobToBase64","reader","GridLayer","GeoJSON","maxZoom","tolerance","extent","buffer","strokeWidth","strokeColor","strokeOpacity","prototype","call","tileIndex","geojsonvt","onAdd","_map","on","updateBalloon","createTile","coords","tile","DomUtil","create","size","getTileSize","y","ctx","getContext","tileInfo","getTile","z","features","_drawFeature","beginPath","_setStyle","_drawIcon","_drawLine","_drawPolygon","Image","p","drawImage","src","tags","j","ring","k","lineTo","moveTo","style","_setPointStyle","_setLineStyle","_setPolygonStyle","lineWidth","_setWeight","strokeStyle","_setOpacity","fillStyle","_iscolorHex","colorRgb","_colorRgb","sColor","sColorNew","slice","concat","sColorChange","parseInt","_pointInPolygon","point","vs","inside","xi","yi","xj","yj","_getLatLngsPoly","o","coordinates","_getLatLngsPoint","_getLatLngs","Array","polys","geometries","pointInLayer","first","LatLng","lng","lat","results","isPointablePixel","_popup","Popup","points","setLatLng","setContent","openOn","closePopup","geoJSON"],"mappings":"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"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index ee9a99f..5e2280f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "leaflet-kmz", - "version": "0.2.0", + "version": "0.2.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ec61f72..d8d443d 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,9 @@ { "name": "leaflet-kmz", - "version": "0.2.2", + "version": "0.2.3", "description": "A KMZ file loader for Leaflet Maps", "main": "dist/leaflet-kmz.js", + "module": "src/index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "rollup -c build/rollup.config.js", diff --git a/src/KMZLoader.js b/src/KMZLoader.js index c5122f6..62be8fa 100644 --- a/src/KMZLoader.js +++ b/src/KMZLoader.js @@ -1,6 +1,6 @@ import JSZip from 'jszip'; import geojsonvt from 'geojson-vt'; -import toGeoJSON from '@tmcw/togeojson'; +import * as toGeoJSON from '@tmcw/togeojson'; L.KMZLoader = L.Class.extend({ options: {