Add public gps tiles layer for debugging purposes
authorLars Sonchocky-Helldorf <lars.sonchocky-helldorf@hamburg.de>
Wed, 4 Jan 2017 19:24:23 +0000 (19:24 +0000)
committerTom Hughes <tom@compton.nu>
Wed, 4 Jan 2017 19:26:15 +0000 (19:26 +0000)
Fixes #1239
Closes #1406

app/assets/javascripts/index.js
app/assets/javascripts/leaflet.layers.js
app/assets/javascripts/leaflet.map.js
config/locales/en.yml
vendor/assets/leaflet/leaflet.osm.js

index 796a5f4..9d7122e 100644 (file)
@@ -157,6 +157,10 @@ $(document).ready(function () {
     if (params.layers.indexOf(map.dataLayer.options.code) >= 0) {
       map.addLayer(map.dataLayer);
     }
+
+    if (params.layers.indexOf(map.gpsLayer.options.code) >= 0) {
+      map.addLayer(map.gpsLayer);
+    }
   }
 
   var placement = $('html').attr('dir') === 'rtl' ? 'right' : 'left';
index c294f13..eedf718 100644 (file)
@@ -176,6 +176,7 @@ L.OSM.layers = function(options) {
 
       addOverlay(map.noteLayer, 'notes', OSM.MAX_NOTE_REQUEST_AREA);
       addOverlay(map.dataLayer, 'data', OSM.MAX_REQUEST_AREA);
+      addOverlay(map.gpsLayer, 'gps', Number.POSITIVE_INFINITY);
     }
 
     options.sidebar.addPane($ui);
index 4f3c7bc..5a0c552 100644 (file)
@@ -55,6 +55,11 @@ L.OSM.Map = L.Map.extend({
 
     this.dataLayer = new L.OSM.DataLayer(null);
     this.dataLayer.options.code = 'D';
+
+    this.gpsLayer = new L.OSM.GPS({
+      code: "G",
+      name: I18n.t("javascripts.map.base.gps")
+    });
   },
 
   updateLayers: function(layerParam) {
index cfff874..cf80c08 100644 (file)
@@ -2211,6 +2211,7 @@ en:
         header: Map Layers
         notes: Map Notes
         data: Map Data
+        gps: Public GPS Traces
         overlays: Enable overlays for troubleshooting the map
         title: "Layers"
       copyright: "© <a href='%{copyright_url}'>OpenStreetMap contributors</a>"
index c6de9f7..1abc517 100644 (file)
@@ -64,6 +64,16 @@ L.OSM.HOT = L.OSM.TileLayer.extend({
   }
 });
 
+L.OSM.GPS = L.OSM.TileLayer.extend({
+  options: {
+    url: document.location.protocol === 'https:' ?
+      'https://{s}.gps-tile.openstreetmap.org/lines/{z}/{x}/{y}.png' :
+      'http://{s}.gps-tile.openstreetmap.org/lines/{z}/{x}/{y}.png',
+    maxZoom: 20,
+    subdomains: 'abc'
+  }
+});
+
 L.OSM.DataLayer = L.FeatureGroup.extend({
   options: {
     areaTags: ['area', 'building', 'leisure', 'tourism', 'ruins', 'historic', 'landuse', 'military', 'natural', 'sport'],