[Libreoffice-commits] online.git: loleaflet/build loleaflet/src

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Wed Mar 6 03:47:06 UTC 2019


 loleaflet/build/deps.js                                      |   24 
 loleaflet/src/geo/crs/CRS.EPSG3395.js                        |   14 
 loleaflet/src/geo/crs/CRS.EPSG3857.js                        |   18 
 loleaflet/src/geo/crs/CRS.EPSG4326.js                        |   10 
 loleaflet/src/geo/crs/CRS.Earth.js                           |   21 
 loleaflet/src/geo/projection/Projection.Mercator.js          |   44 -
 loleaflet/src/geo/projection/Projection.SphericalMercator.js |   32 -
 loleaflet/src/layer/GeoJSON.js                               |  269 -----------
 loleaflet/src/map/ext/Map.Geolocation.js                     |   92 ---
 9 files changed, 524 deletions(-)

New commits:
commit 83130d1e45b7b5706835c7cb7ee057f0fc34fb9c
Author:     Henry Castro <hcastro at collabora.com>
AuthorDate: Tue Feb 12 14:57:19 2019 -0400
Commit:     Henry Castro <hcastro at collabora.com>
CommitDate: Tue Mar 5 23:46:29 2019 -0400

    loleaflet: remove unused map geolocation code
    
    Change-Id: I14f4ca2bade957f0105f31838efe26601d965943

diff --git a/loleaflet/build/deps.js b/loleaflet/build/deps.js
index a050edf47..933c39c6d 100644
--- a/loleaflet/build/deps.js
+++ b/loleaflet/build/deps.js
@@ -19,25 +19,14 @@ var deps = {
 		      'geo/LatLng.js',
 		      'geo/LatLngBounds.js',
 		      'geo/projection/Projection.LonLat.js',
-		      'geo/projection/Projection.SphericalMercator.js',
 		      'geo/crs/CRS.js',
 		      'geo/crs/CRS.Simple.js',
-		      'geo/crs/CRS.Earth.js',
-		      'geo/crs/CRS.EPSG3857.js',
-		      'geo/crs/CRS.EPSG4326.js',
 		      'map/Map.js',
 		      'layer/Layer.js'
 		      ],
 		desc: 'The core of the library, including OOP, events, DOM facilities, basic units, projections (EPSG:3857 and EPSG:4326) and the base Map class.'
 	},
 
-	EPSG3395: {
-		src: ['geo/projection/Projection.Mercator.js',
-		      'geo/crs/CRS.EPSG3395.js'],
-		desc: 'EPSG:3395 projection (used by some map providers).',
-		heading: 'Additional projections'
-	},
-
 	GridLayer: {
 		src: ['layer/tile/GridLayer.js'],
 		desc: 'Used as base class for grid-like layers like TileLayer.',
@@ -191,13 +180,6 @@ var deps = {
 		desc: 'Canvas backend for vector layers.'
 	},
 
-	GeoJSON: {
-		src: ['layer/GeoJSON.js'],
-		deps: ['Polygon', 'Circle', 'CircleMarker', 'Marker', 'FeatureGroup'],
-		desc: 'GeoJSON layer, parses the data and adds corresponding layers above.'
-	},
-
-
 	MapDrag: {
 		src: ['dom/DomEvent.js',
 		      'dom/Draggable.js',
@@ -462,12 +444,6 @@ var deps = {
 		desc: 'Smooth zooming animation. Works only on browsers that support CSS3 Transitions.'
 	},
 
-	Geolocation: {
-		src: ['map/ext/Map.Geolocation.js'],
-		desc: 'Adds Map#locate method and related events to make geolocation easier.',
-		heading: 'Misc'
-	},
-
 	AnnotationManager: {
 		src: ['layer/AnnotationManager.js'],
 		desc: 'Group Annotations to put on the map.'
diff --git a/loleaflet/src/geo/crs/CRS.EPSG3395.js b/loleaflet/src/geo/crs/CRS.EPSG3395.js
deleted file mode 100644
index be1429c7f..000000000
--- a/loleaflet/src/geo/crs/CRS.EPSG3395.js
+++ /dev/null
@@ -1,14 +0,0 @@
-/* -*- js-indent-level: 8 -*- */
-/*
- * L.CRS.EPSG3857 (World Mercator) CRS implementation.
- */
-
-L.CRS.EPSG3395 = L.extend({}, L.CRS.Earth, {
-	code: 'EPSG:3395',
-	projection: L.Projection.Mercator,
-
-	transformation: (function () {
-		var scale = 0.5 / (Math.PI * L.Projection.Mercator.R);
-		return new L.Transformation(scale, 0.5, -scale, 0.5);
-	}())
-});
diff --git a/loleaflet/src/geo/crs/CRS.EPSG3857.js b/loleaflet/src/geo/crs/CRS.EPSG3857.js
deleted file mode 100644
index 3373d6630..000000000
--- a/loleaflet/src/geo/crs/CRS.EPSG3857.js
+++ /dev/null
@@ -1,18 +0,0 @@
-/* -*- js-indent-level: 8 -*- */
-/*
- * L.CRS.EPSG3857 (Spherical Mercator) is the most common CRS for web mapping and is used by Leaflet by default.
- */
-
-L.CRS.EPSG3857 = L.extend({}, L.CRS.Earth, {
-	code: 'EPSG:3857',
-	projection: L.Projection.SphericalMercator,
-
-	transformation: (function () {
-		var scale = 0.5 / (Math.PI * L.Projection.SphericalMercator.R);
-		return new L.Transformation(scale, 0.5, -scale, 0.5);
-	}())
-});
-
-L.CRS.EPSG900913 = L.extend({}, L.CRS.EPSG3857, {
-	code: 'EPSG:900913'
-});
diff --git a/loleaflet/src/geo/crs/CRS.EPSG4326.js b/loleaflet/src/geo/crs/CRS.EPSG4326.js
deleted file mode 100644
index 0f90029ac..000000000
--- a/loleaflet/src/geo/crs/CRS.EPSG4326.js
+++ /dev/null
@@ -1,10 +0,0 @@
-/* -*- js-indent-level: 8 -*- */
-/*
- * L.CRS.EPSG4326 is a CRS popular among advanced GIS specialists.
- */
-
-L.CRS.EPSG4326 = L.extend({}, L.CRS.Earth, {
-	code: 'EPSG:4326',
-	projection: L.Projection.LonLat,
-	transformation: new L.Transformation(1 / 180, 1, -1 / 180, 0.5)
-});
diff --git a/loleaflet/src/geo/crs/CRS.Earth.js b/loleaflet/src/geo/crs/CRS.Earth.js
deleted file mode 100644
index e8b0374b9..000000000
--- a/loleaflet/src/geo/crs/CRS.Earth.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/* -*- js-indent-level: 8 -*- */
-/*
- * L.CRS.Earth is the base class for all CRS representing Earth.
- */
-
-L.CRS.Earth = L.extend({}, L.CRS, {
-	wrapLng: [-180, 180],
-
-	R: 6378137,
-
-	// distance between two geographical points using spherical law of cosines approximation
-	distance: function (latlng1, latlng2) {
-		var rad = Math.PI / 180,
-		    lat1 = latlng1.lat * rad,
-		    lat2 = latlng2.lat * rad,
-		    a = Math.sin(lat1) * Math.sin(lat2) +
-		        Math.cos(lat1) * Math.cos(lat2) * Math.cos((latlng2.lng - latlng1.lng) * rad);
-
-		return this.R * Math.acos(Math.min(a, 1));
-	}
-});
diff --git a/loleaflet/src/geo/projection/Projection.Mercator.js b/loleaflet/src/geo/projection/Projection.Mercator.js
deleted file mode 100644
index 65caaf566..000000000
--- a/loleaflet/src/geo/projection/Projection.Mercator.js
+++ /dev/null
@@ -1,44 +0,0 @@
-/* -*- js-indent-level: 8 -*- */
-/*
- * Mercator projection that takes into account that the Earth is not a perfect sphere.
- * Less popular than spherical mercator; used by projections like EPSG:3395.
- */
-
-L.Projection.Mercator = {
-	R: 6378137,
-	R_MINOR: 6356752.314245179,
-
-	bounds: L.bounds([-20037508.34279, -15496570.73972], [20037508.34279, 18764656.23138]),
-
-	project: function (latlng) {
-		var d = Math.PI / 180,
-		    r = this.R,
-		    y = latlng.lat * d,
-		    tmp = this.R_MINOR / r,
-		    e = Math.sqrt(1 - tmp * tmp),
-		    con = e * Math.sin(y);
-
-		var ts = Math.tan(Math.PI / 4 - y / 2) / Math.pow((1 - con) / (1 + con), e / 2);
-		y = -r * Math.log(Math.max(ts, 1E-10));
-
-		return new L.Point(latlng.lng * d * r, y);
-	},
-
-	unproject: function (point) {
-		var d = 180 / Math.PI,
-		    r = this.R,
-		    tmp = this.R_MINOR / r,
-		    e = Math.sqrt(1 - tmp * tmp),
-		    ts = Math.exp(-point.y / r),
-		    phi = Math.PI / 2 - 2 * Math.atan(ts);
-
-		for (var i = 0, dphi = 0.1, con; i < 15 && Math.abs(dphi) > 1e-7; i++) {
-			con = e * Math.sin(phi);
-			con = Math.pow((1 - con) / (1 + con), e / 2);
-			dphi = Math.PI / 2 - 2 * Math.atan(ts * con) - phi;
-			phi += dphi;
-		}
-
-		return new L.LatLng(phi * d, point.x * d / r);
-	}
-};
diff --git a/loleaflet/src/geo/projection/Projection.SphericalMercator.js b/loleaflet/src/geo/projection/Projection.SphericalMercator.js
deleted file mode 100644
index 0e95cc510..000000000
--- a/loleaflet/src/geo/projection/Projection.SphericalMercator.js
+++ /dev/null
@@ -1,32 +0,0 @@
-/* -*- js-indent-level: 8 -*- */
-/*
- * Spherical Mercator is the most popular map projection, used by EPSG:3857 CRS used by default.
- */
-
-L.Projection.SphericalMercator = {
-
-	R: 6378137,
-
-	project: function (latlng) {
-		var d = Math.PI / 180,
-		    max = 1 - 1E-15,
-		    sin = Math.max(Math.min(Math.sin(latlng.lat * d), max), -max);
-
-		return new L.Point(
-				this.R * latlng.lng * d,
-				this.R * Math.log((1 + sin) / (1 - sin)) / 2);
-	},
-
-	unproject: function (point) {
-		var d = 180 / Math.PI;
-
-		return new L.LatLng(
-			(2 * Math.atan(Math.exp(point.y / this.R)) - (Math.PI / 2)) * d,
-			point.x * d / this.R);
-	},
-
-	bounds: (function () {
-		var d = 6378137 * Math.PI;
-		return L.bounds([-d, -d], [d, d]);
-	})()
-};
diff --git a/loleaflet/src/layer/GeoJSON.js b/loleaflet/src/layer/GeoJSON.js
deleted file mode 100644
index 7458da924..000000000
--- a/loleaflet/src/layer/GeoJSON.js
+++ /dev/null
@@ -1,269 +0,0 @@
-/* -*- js-indent-level: 8 -*- */
-/*
- * L.GeoJSON turns any GeoJSON data into a Leaflet layer.
- */
-
-L.GeoJSON = L.FeatureGroup.extend({
-
-	initialize: function (geojson, options) {
-		L.setOptions(this, options);
-
-		this._layers = {};
-
-		if (geojson) {
-			this.addData(geojson);
-		}
-	},
-
-	addData: function (geojson) {
-		var features = L.Util.isArray(geojson) ? geojson : geojson.features,
-		    i, len, feature;
-
-		if (features) {
-			for (i = 0, len = features.length; i < len; i++) {
-				// only add this if geometry or geometries are set and not null
-				feature = features[i];
-				if (feature.geometries || feature.geometry || feature.features || feature.coordinates) {
-					this.addData(feature);
-				}
-			}
-			return this;
-		}
-
-		var options = this.options;
-
-		if (options.filter && !options.filter(geojson)) { return this; }
-
-		var layer = L.GeoJSON.geometryToLayer(geojson, options);
-		layer.feature = L.GeoJSON.asFeature(geojson);
-
-		layer.defaultOptions = layer.options;
-		this.resetStyle(layer);
-
-		if (options.onEachFeature) {
-			options.onEachFeature(geojson, layer);
-		}
-
-		return this.addLayer(layer);
-	},
-
-	resetStyle: function (layer) {
-		// reset any custom styles
-		layer.options = layer.defaultOptions;
-		this._setLayerStyle(layer, this.options.style);
-		return this;
-	},
-
-	setStyle: function (style) {
-		return this.eachLayer(function (layer) {
-			this._setLayerStyle(layer, style);
-		}, this);
-	},
-
-	_setLayerStyle: function (layer, style) {
-		if (typeof style === 'function') {
-			style = style(layer.feature);
-		}
-		if (layer.setStyle) {
-			layer.setStyle(style);
-		}
-	}
-});
-
-L.extend(L.GeoJSON, {
-	geometryToLayer: function (geojson, options) {
-
-		var geometry = geojson.type === 'Feature' ? geojson.geometry : geojson,
-		    coords = geometry.coordinates,
-		    layers = [],
-		    pointToLayer = options && options.pointToLayer,
-		    coordsToLatLng = options && options.coordsToLatLng || this.coordsToLatLng,
-		    latlng, latlngs, i, len;
-
-		switch (geometry.type) {
-		case 'Point':
-			latlng = coordsToLatLng(coords);
-			return pointToLayer ? pointToLayer(geojson, latlng) : new L.Marker(latlng);
-
-		case 'MultiPoint':
-			for (i = 0, len = coords.length; i < len; i++) {
-				latlng = coordsToLatLng(coords[i]);
-				layers.push(pointToLayer ? pointToLayer(geojson, latlng) : new L.Marker(latlng));
-			}
-			return new L.FeatureGroup(layers);
-
-		case 'LineString':
-		case 'MultiLineString':
-			latlngs = this.coordsToLatLngs(coords, geometry.type === 'LineString' ? 0 : 1, coordsToLatLng);
-			return new L.Polyline(latlngs, options);
-
-		case 'Polygon':
-		case 'MultiPolygon':
-			latlngs = this.coordsToLatLngs(coords, geometry.type === 'Polygon' ? 1 : 2, coordsToLatLng);
-			return new L.Polygon(latlngs, options);
-
-		case 'GeometryCollection':
-			for (i = 0, len = geometry.geometries.length; i < len; i++) {
-
-				layers.push(this.geometryToLayer({
-					geometry: geometry.geometries[i],
-					type: 'Feature',
-					properties: geojson.properties
-				}, options));
-			}
-			return new L.FeatureGroup(layers);
-
-		default:
-			throw new Error('Invalid GeoJSON object.');
-		}
-	},
-
-	coordsToLatLng: function (coords) {
-		return new L.LatLng(coords[1], coords[0], coords[2]);
-	},
-
-	coordsToLatLngs: function (coords, levelsDeep, coordsToLatLng) {
-		var latlngs = [];
-
-		for (var i = 0, len = coords.length, latlng; i < len; i++) {
-			latlng = levelsDeep ?
-			        this.coordsToLatLngs(coords[i], levelsDeep - 1, coordsToLatLng) :
-			        (coordsToLatLng || this.coordsToLatLng)(coords[i]);
-
-			latlngs.push(latlng);
-		}
-
-		return latlngs;
-	},
-
-	latLngToCoords: function (latlng) {
-		return latlng.alt !== undefined ?
-				[latlng.lng, latlng.lat, latlng.alt] :
-				[latlng.lng, latlng.lat];
-	},
-
-	latLngsToCoords: function (latlngs, levelsDeep, closed) {
-		var coords = [];
-
-		for (var i = 0, len = latlngs.length; i < len; i++) {
-			coords.push(levelsDeep ?
-				L.GeoJSON.latLngsToCoords(latlngs[i], levelsDeep - 1, closed) :
-				L.GeoJSON.latLngToCoords(latlngs[i]));
-		}
-
-		if (!levelsDeep && closed) {
-			coords.push(coords[0]);
-		}
-
-		return coords;
-	},
-
-	getFeature: function (layer, newGeometry) {
-		return layer.feature ?
-				L.extend({}, layer.feature, {geometry: newGeometry}) :
-				L.GeoJSON.asFeature(newGeometry);
-	},
-
-	asFeature: function (geoJSON) {
-		if (geoJSON.type === 'Feature') {
-			return geoJSON;
-		}
-
-		return {
-			type: 'Feature',
-			properties: {},
-			geometry: geoJSON
-		};
-	}
-});
-
-var PointToGeoJSON = {
-	toGeoJSON: function () {
-		return L.GeoJSON.getFeature(this, {
-			type: 'Point',
-			coordinates: L.GeoJSON.latLngToCoords(this.getLatLng())
-		});
-	}
-};
-
-L.Marker.include(PointToGeoJSON);
-L.Circle.include(PointToGeoJSON);
-L.CircleMarker.include(PointToGeoJSON);
-
-L.Polyline.prototype.toGeoJSON = function () {
-	var multi = !this._flat(this._latlngs);
-
-	var coords = L.GeoJSON.latLngsToCoords(this._latlngs, multi ? 1 : 0);
-
-	return L.GeoJSON.getFeature(this, {
-		type: (multi ? 'Multi' : '') + 'LineString',
-		coordinates: coords
-	});
-};
-
-L.Polygon.prototype.toGeoJSON = function () {
-	var holes = !this._flat(this._latlngs),
-	    multi = holes && !this._flat(this._latlngs[0]);
-
-	var coords = L.GeoJSON.latLngsToCoords(this._latlngs, multi ? 2 : holes ? 1 : 0, true);
-
-	if (!holes) {
-		coords = [coords];
-	}
-
-	return L.GeoJSON.getFeature(this, {
-		type: (multi ? 'Multi' : '') + 'Polygon',
-		coordinates: coords
-	});
-};
-
-
-L.LayerGroup.include({
-	toMultiPoint: function () {
-		var coords = [];
-
-		this.eachLayer(function (layer) {
-			coords.push(layer.toGeoJSON().geometry.coordinates);
-		});
-
-		return L.GeoJSON.getFeature(this, {
-			type: 'MultiPoint',
-			coordinates: coords
-		});
-	},
-
-	toGeoJSON: function () {
-
-		var type = this.feature && this.feature.geometry && this.feature.geometry.type;
-
-		if (type === 'MultiPoint') {
-			return this.toMultiPoint();
-		}
-
-		var isGeometryCollection = type === 'GeometryCollection',
-		    jsons = [];
-
-		this.eachLayer(function (layer) {
-			if (layer.toGeoJSON) {
-				var json = layer.toGeoJSON();
-				jsons.push(isGeometryCollection ? json.geometry : L.GeoJSON.asFeature(json));
-			}
-		});
-
-		if (isGeometryCollection) {
-			return L.GeoJSON.getFeature(this, {
-				geometries: jsons,
-				type: 'GeometryCollection'
-			});
-		}
-
-		return {
-			type: 'FeatureCollection',
-			features: jsons
-		};
-	}
-});
-
-L.geoJson = function (geojson, options) {
-	return new L.GeoJSON(geojson, options);
-};
diff --git a/loleaflet/src/map/ext/Map.Geolocation.js b/loleaflet/src/map/ext/Map.Geolocation.js
deleted file mode 100644
index 97985a838..000000000
--- a/loleaflet/src/map/ext/Map.Geolocation.js
+++ /dev/null
@@ -1,92 +0,0 @@
-/* -*- js-indent-level: 8 -*- */
-/*
- * Provides L.Map with convenient shortcuts for using browser geolocation features.
- */
-
-L.Map.include({
-	_defaultLocateOptions: {
-		timeout: 10000,
-		watch: false
-		// setView: false
-		// maxZoom: <Number>
-		// maximumAge: 0
-		// enableHighAccuracy: false
-	},
-
-	locate: function (/*Object*/ options) {
-
-		options = this._locateOptions = L.extend({}, this._defaultLocateOptions, options);
-
-		if (!navigator.geolocation) {
-			this._handleGeolocationError({
-				code: 0,
-				message: 'Geolocation not supported.'
-			});
-			return this;
-		}
-
-		var onResponse = L.bind(this._handleGeolocationResponse, this),
-		    onError = L.bind(this._handleGeolocationError, this);
-
-		if (options.watch) {
-			this._locationWatchId =
-			        navigator.geolocation.watchPosition(onResponse, onError, options);
-		} else {
-			navigator.geolocation.getCurrentPosition(onResponse, onError, options);
-		}
-		return this;
-	},
-
-	stopLocate: function () {
-		if (navigator.geolocation) {
-			navigator.geolocation.clearWatch(this._locationWatchId);
-		}
-		if (this._locateOptions) {
-			this._locateOptions.setView = false;
-		}
-		return this;
-	},
-
-	_handleGeolocationError: function (error) {
-		var c = error.code,
-		    message = error.message ||
-		            (c === 1 ? 'permission denied' :
-		            (c === 2 ? 'position unavailable' : 'timeout'));
-
-		if (this._locateOptions.setView && !this._loaded) {
-			this.fitWorld();
-		}
-
-		this.fire('locationerror', {
-			code: c,
-			message: 'Geolocation error: ' + message + '.'
-		});
-	},
-
-	_handleGeolocationResponse: function (pos) {
-		var lat = pos.coords.latitude,
-		    lng = pos.coords.longitude,
-		    latlng = new L.LatLng(lat, lng),
-		    bounds = latlng.toBounds(pos.coords.accuracy),
-		    options = this._locateOptions;
-
-		if (options.setView) {
-			var zoom = this.getBoundsZoom(bounds);
-			this.setView(latlng, options.maxZoom ? Math.min(zoom, options.maxZoom) : zoom);
-		}
-
-		var data = {
-			latlng: latlng,
-			bounds: bounds,
-			timestamp: pos.timestamp
-		};
-
-		for (var i in pos.coords) {
-			if (typeof pos.coords[i] === 'number') {
-				data[i] = pos.coords[i];
-			}
-		}
-
-		this.fire('locationfound', data);
-	}
-});


More information about the Libreoffice-commits mailing list