X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/d8c6f0e3757bc470a0868bfe50ed7795966e60fc..c4c0e8105a8edc35205add749f461ec7be689aef:/app/assets/javascripts/leaflet.map.js diff --git a/app/assets/javascripts/leaflet.map.js b/app/assets/javascripts/leaflet.map.js index 0cee211ce..4d42030bc 100644 --- a/app/assets/javascripts/leaflet.map.js +++ b/app/assets/javascripts/leaflet.map.js @@ -15,11 +15,12 @@ L.OSM.Map = L.Map.extend({ var copyright = I18n.t("javascripts.map.copyright", { copyright_url: "/copyright" }); var donate = I18n.t("javascripts.map.donate_link_text", { donate_url: "https://donate.openstreetmap.org" }); + var terms = I18n.t("javascripts.map.terms", { terms_url: "https://wiki.osmfoundation.org/wiki/Terms_of_Use" }); this.baseLayers = []; this.baseLayers.push(new L.OSM.Mapnik({ - attribution: copyright + " ♥ " + donate, + attribution: copyright + " ♥ " + donate + ". " + terms, code: "M", keyid: "mapnik", name: I18n.t("javascripts.map.base.standard") @@ -27,7 +28,7 @@ L.OSM.Map = L.Map.extend({ if (OSM.THUNDERFOREST_KEY) { this.baseLayers.push(new L.OSM.CycleMap({ - attribution: copyright + ". Tiles courtesy of Andy Allan", + attribution: copyright + ". Tiles courtesy of Andy Allan. " + terms, apikey: OSM.THUNDERFOREST_KEY, code: "C", keyid: "cyclemap", @@ -35,7 +36,7 @@ L.OSM.Map = L.Map.extend({ })); this.baseLayers.push(new L.OSM.TransportMap({ - attribution: copyright + ". Tiles courtesy of Andy Allan", + attribution: copyright + ". Tiles courtesy of Andy Allan. " + terms, apikey: OSM.THUNDERFOREST_KEY, code: "T", keyid: "transportmap", @@ -44,7 +45,7 @@ L.OSM.Map = L.Map.extend({ } this.baseLayers.push(new L.OSM.HOT({ - attribution: copyright + ". Tiles style by Humanitarian OpenStreetMap Team hosted by OpenStreetMap France", + attribution: copyright + ". Tiles style by Humanitarian OpenStreetMap Team hosted by OpenStreetMap France. " + terms, code: "H", keyid: "hot", name: I18n.t("javascripts.map.base.hot") @@ -96,11 +97,11 @@ L.OSM.Map = L.Map.extend({ }, getMapBaseLayerId: function () { - var baseLayer; + var baseLayerId; this.eachLayer(function (layer) { - if (layer.options && layer.options.keyid) baseLayer = layer; + if (layer.options && layer.options.keyid) baseLayerId = layer.options.keyid; }); - return baseLayer.options.keyid; + return baseLayerId; }, getUrl: function (marker) { @@ -114,8 +115,8 @@ L.OSM.Map = L.Map.extend({ } var url = window.location.protocol + "//" + OSM.SERVER_URL + "/", - query = querystring.stringify(params), - hash = OSM.formatHash(this); + query = querystring.stringify(params), + hash = OSM.formatHash(this); if (query) url += "?" + query; if (hash) url += hash; @@ -125,19 +126,19 @@ L.OSM.Map = L.Map.extend({ getShortUrl: function (marker) { var zoom = this.getZoom(), - latLng = marker && this.hasLayer(marker) ? marker.getLatLng().wrap() : this.getCenter().wrap(), - str = window.location.hostname.match(/^www\.openstreetmap\.org/i) ? - window.location.protocol + "//osm.org/go/" : - window.location.protocol + "//" + window.location.hostname + "/go/", - char_array = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_~", - x = Math.round((latLng.lng + 180.0) * ((1 << 30) / 90.0)), - y = Math.round((latLng.lat + 90.0) * ((1 << 30) / 45.0)), - // JavaScript only has to keep 32 bits of bitwise operators, so this has to be - // done in two parts. each of the parts c1/c2 has 30 bits of the total in it - // and drops the last 4 bits of the full 64 bit Morton code. - c1 = interlace(x >>> 17, y >>> 17), c2 = interlace((x >>> 2) & 0x7fff, (y >>> 2) & 0x7fff), - digit, - i; + latLng = marker && this.hasLayer(marker) ? marker.getLatLng().wrap() : this.getCenter().wrap(), + str = window.location.hostname.match(/^www\.openstreetmap\.org/i) ? + window.location.protocol + "//osm.org/go/" : + window.location.protocol + "//" + window.location.hostname + "/go/", + char_array = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_~", + x = Math.round((latLng.lng + 180.0) * ((1 << 30) / 90.0)), + y = Math.round((latLng.lat + 90.0) * ((1 << 30) / 45.0)), + // JavaScript only has to keep 32 bits of bitwise operators, so this has to be + // done in two parts. each of the parts c1/c2 has 30 bits of the total in it + // and drops the last 4 bits of the full 64 bit Morton code. + c1 = interlace(x >>> 17, y >>> 17), c2 = interlace((x >>> 2) & 0x7fff, (y >>> 2) & 0x7fff), + digit, + i; for (i = 0; i < Math.ceil((zoom + 8) / 3.0) && i < 5; ++i) { digit = (c1 >> (24 - (6 * i))) & 0x3f;