diff --git a/htdocs/index.html b/htdocs/index.html
index f2e332f..857476c 100644
--- a/htdocs/index.html
+++ b/htdocs/index.html
@@ -1,36 +1,33 @@
-
-
- LinuxWorks Minetest Map (unofficial)
-
-
-
-
-
-
-
-
-
-
+
+ LinuxWorks Minetest Map (unofficial)
+
+
+
+
+
+
+
+
-
-
-
+
+
+
diff --git a/htdocs/mapscript.js b/htdocs/mapscript.js
index 8ec6a0b..c8959ab 100644
--- a/htdocs/mapscript.js
+++ b/htdocs/mapscript.js
@@ -1,126 +1,131 @@
// Projection fix from: https://gis.stackexchange.com/questions/200865/leaflet-crs-simple-custom-scale
-var factorx = 1/256 * 4;
+var factorx = 1 / 256 * 4;
var factory = factorx;
var originx = 7000;
var originy = 7000;
var zoom_level_real = 6;
L.CRS.pr = L.extend({}, L.CRS.Simple, {
- projection: L.Projection.LonLat,
- transformation: new L.Transformation(factorx, factorx * originx, -factory, factory * originy),
-
- scale: function(zoom) {
- return Math.pow(2, zoom);
- },
+ projection: L.Projection.LonLat,
+ transformation: new L.Transformation(factorx,factorx * originx,-factory,factory * originy),
- zoom: function(scale) {
- return Math.log(scale) / Math.LN2;
- },
+ scale: function(zoom) {
+ return Math.pow(2, zoom);
+ },
- distance: function(latlng1, latlng2) {
- var dx = latlng2.lng - latlng1.lng,
- dy = latlng2.lat - latlng1.lat;
-
- return Math.sqrt(dx * dx + dy * dy);
- },
- infinite: true
+ zoom: function(scale) {
+ return Math.log(scale) / Math.LN2;
+ },
+
+ distance: function(latlng1, latlng2) {
+ var dx = latlng2.lng - latlng1.lng
+ , dy = latlng2.lat - latlng1.lat;
+
+ return Math.sqrt(dx * dx + dy * dy);
+ },
+ infinite: true
});
// Init map
var mymap = L.map('mapid', {
- crs: L.CRS.pr
+ crs: L.CRS.pr
}).setView([0, 0], 6);
var mapheight = 16384;
var mapwidth = mapheight;
var sw = mymap.unproject([0, 0], zoom_level_real);
var ne = mymap.unproject([mapwidth, mapheight], zoom_level_real);
-var layerbounds = new L.LatLngBounds(sw, ne);
+var layerbounds = new L.LatLngBounds(sw,ne);
var layers = L.control.layers({}, {}).addTo(mymap);
function load_svg(name, url, active=1) {
- var xhttp_ps = new XMLHttpRequest();
- xhttp_ps.onreadystatechange = function() {
- if (this.readyState == 4) {
- if (this.status == 200) {
- var svgElement = document.createElementNS("http://www.w3.org/2000/svg", "svg");
- svgElement.setAttribute('xmlns', "http://www.w3.org/2000/svg");
- svgElement.setAttribute('viewBox', "0 0 16384 16384");
- svgElement.innerHTML = xhttp_ps.responseText;
- var svgElementBounds = [ [ 0, 0 ], [ 1000, 1000 ] ];
- var overlay = L.svgOverlay(svgElement, svgElementBounds);
- layers.addOverlay(overlay, name);
- if (active)
- overlay.addTo(mymap);
- return overlay;
- } else {
- alert("Error: Could not load SVG map layer (" + name + ")");
- }
+ var xhttp_ps = new XMLHttpRequest();
+ xhttp_ps.onreadystatechange = function() {
+ if (this.readyState == 4) {
+ if (this.status == 200) {
+ var svgElement = document.createElementNS("http://www.w3.org/2000/svg", "svg");
+ svgElement.setAttribute('xmlns', "http://www.w3.org/2000/svg");
+ svgElement.setAttribute('viewBox', "0 0 16384 16384");
+ svgElement.innerHTML = xhttp_ps.responseText;
+ var svgElementBounds = [[0, 0], [1000, 1000]];
+ var overlay = L.svgOverlay(svgElement, svgElementBounds);
+ layers.addOverlay(overlay, name);
+ if (active)
+ overlay.addTo(mymap);
+ return overlay;
+ } else {
+ alert("Error: Could not load SVG map layer (" + name + ")");
+ }
+ }
}
- };
- xhttp_ps.open("GET", url, true);
- xhttp_ps.send();
+ ;
+ xhttp_ps.open("GET", url, true);
+ xhttp_ps.send();
}
function load_tiles(name, id) {
- var satellite = L.tileLayer('https://notsyncing.net/maps.linux-forks.de/tiles/?id={id}&z={z}&x={x}&y={y}', {
- maxZoom: 8,
- maxNativeZoom: 6,
- minNativeZoom: 0,
- minZoom: 0,
- noWrap: true,
- attribution: 'Map data © Linux-Forks, ' +
- 'All rights reserved, ',
- id: id,
- tileSize: 256,
- zoomOffset: 0,
- opacity: 1.0,
- bounds: layerbounds
- });
- layers.addBaseLayer(satellite, name);
- return satellite;
+ var satellite = L.tileLayer('https://notsyncing.net/maps.linux-forks.de/tiles/?id={id}&z={z}&x={x}&y={y}', {
+ maxZoom: 8,
+ maxNativeZoom: 6,
+ minNativeZoom: 0,
+ minZoom: 0,
+ noWrap: true,
+ attribution: 'Map data © Linux-Forks, ' + 'All rights reserved, ',
+ id: id,
+ tileSize: 256,
+ zoomOffset: 0,
+ opacity: 1.0,
+ bounds: layerbounds
+ });
+ layers.addBaseLayer(satellite, name);
+ return satellite;
}
-
-
-function load_geojson(name, url, iconname, iconcolor,active=1) {
- var xhttp_ps = new XMLHttpRequest();
- xhttp_ps.onreadystatechange = function() {
- if (this.readyState == 4) {
- if (this.status == 200) {
- var geojson = L.geoJSON(JSON.parse(xhttp_ps.responseText), {
- onEachFeature: function (feature, layer) {
- label = String(feature.properties.name)
- layer.bindPopup(
- ''+
- '' +
- ''+feature.properties.description+'
'
- );
- layer.bindTooltip(label, {permanent: true, direction: "center", className: "city-names"}).openTooltip();
- },
- pointToLayer: function(feature,latlng){
- label = String(feature.properties.name)
- return new L.marker(latlng, {icon: L.AwesomeMarkers.icon({
- icon: iconname,
- markerColor: iconcolor
- })}).bindTooltip(label, {permanent: false, direction: "center", opacity: 0.7}).openTooltip();
- }
- });
- layers.addOverlay(geojson, name);
- if (active)
- geojson.addTo(mymap);
- return geojson;
- } else {
- alert("Error: Could not load geojson map layer (" + name + ").");
- }
+function load_geojson(name, url, iconname, iconcolor, active=1) {
+ var xhttp_ps = new XMLHttpRequest();
+ xhttp_ps.onreadystatechange = function() {
+ if (this.readyState == 4) {
+ if (this.status == 200) {
+ var geojson = L.geoJSON(JSON.parse(xhttp_ps.responseText), {
+ onEachFeature: function(feature, layer) {
+ label = String(feature.properties.name)
+ layer.bindPopup('' + '' + '' + feature.properties.description + '
');
+ layer.bindTooltip(label, {
+ permanent: true,
+ direction: "center",
+ className: "city-names"
+ }).openTooltip();
+ },
+ pointToLayer: function(feature, latlng) {
+ label = String(feature.properties.name)
+ return new L.marker(latlng,{
+ icon: L.AwesomeMarkers.icon({
+ icon: iconname,
+ markerColor: iconcolor
+ })
+ }).bindTooltip(label, {
+ permanent: false,
+ direction: "center",
+ opacity: 0.7
+ }).openTooltip();
+ }
+ });
+ layers.addOverlay(geojson, name);
+ if (active)
+ geojson.addTo(mymap);
+ return geojson;
+ } else {
+ alert("Error: Could not load geojson map layer (" + name + ").");
+ }
+ }
}
- };
- xhttp_ps.open("GET", url, true);
- xhttp_ps.send();
+ ;
+ xhttp_ps.open("GET", url, true);
+ xhttp_ps.send();
}
-load_tiles("Satellite (2020-04-09)", 'world-2020-04-09').addTo(mymap);
+load_tiles("Satellite (2020-04-09)", 'world-2020-04-09').addTo(mymap);
load_tiles("Satellite (2019-05-04, wrong coords)", 'world-2019-05-04');
//load_svg("Test", "./overlay.svg", 0);
@@ -140,15 +145,12 @@ var popup = L.popup();
L.AwesomeMarkers.Icon.prototype.options.prefix = 'fa';
var baseballIcon = L.AwesomeMarkers.icon({
- icon: 'coffee',
- markerColor: 'red'
+ icon: 'coffee',
+ markerColor: 'red'
});
function onMapClick(e) {
- popup
- .setLatLng(e.latlng)
- .setContent("You clicked the map at " + e.latlng.toString())
- .openOn(mymap);
+ popup.setLatLng(e.latlng).setContent("You clicked the map at " + e.latlng.toString()).openOn(mymap);
}
mymap.on('click', onMapClick);