X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/e256c837b56d9f1c40c0c57dd89db4825bc7489e..6ede8ca04554bc710206206ab45f5135e1cab239:/app/assets/javascripts/leaflet.map.js diff --git a/app/assets/javascripts/leaflet.map.js b/app/assets/javascripts/leaflet.map.js index 2201afe68..58360bbec 100644 --- a/app/assets/javascripts/leaflet.map.js +++ b/app/assets/javascripts/leaflet.map.js @@ -64,7 +64,7 @@ L.OSM.Map = L.Map.extend({ if (layerParam.indexOf(this.baseLayers[i].options.code) >= 0) { this.addLayer(this.baseLayers[i]); layersAdded = layersAdded + this.baseLayers[i].options.code; - } else if (i == 0 && layersAdded == "") { + } else if (i === 0 && layersAdded === "") { this.addLayer(this.baseLayers[i]); } else { this.removeLayer(this.baseLayers[i]); @@ -170,6 +170,24 @@ L.OSM.Map = L.Map.extend({ return str; }, + getGeoUri: function(marker) { + var precision = OSM.zoomPrecision(this.getZoom()), + latLng, + params = {}; + + if (marker && this.hasLayer(marker)) { + latLng = marker.getLatLng().wrap(); + } else { + latLng = this.getCenter(); + } + + params.lat = latLng.lat.toFixed(precision); + params.lon = latLng.lng.toFixed(precision); + params.zoom = this.getZoom(); + + return 'geo:' + params.lat + ',' + params.lon + '?z=' + params.zoom; + }, + addObject: function(object, callback) { var objectStyle = { color: "#FF6200", @@ -210,7 +228,7 @@ L.OSM.Map = L.Map.extend({ return true; } else if (object.type === "relation") { for (var i = 0; i < relations.length; i++) - if (relations[i].members.indexOf(node) != -1) + if (relations[i].members.indexOf(node) !== -1) return true; } else { return false; @@ -236,7 +254,7 @@ L.OSM.Map = L.Map.extend({ center: this.getCenter().wrap(), zoom: this.getZoom(), layers: this.getLayersCode() - } + }; }, setState: function(state, options) { @@ -275,7 +293,7 @@ L.extend(L.Icon.Default.prototype, { } }); -function getUserIcon(url) { +OSM.getUserIcon = function (url) { return L.icon({ iconUrl: url || OSM.MARKER_RED, iconSize: [25, 41], @@ -284,4 +302,4 @@ function getUserIcon(url) { shadowUrl: OSM.MARKER_SHADOW, shadowSize: [41, 41] }); -} +};