X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/aff23d4b4bc9e9fecd5c1caa7e4d38087e002396..f898058e76459562e8d54c61458eba0fb1476f35:/app/assets/javascripts/index.js diff --git a/app/assets/javascripts/index.js b/app/assets/javascripts/index.js index ae5fdb9d6..19e1f16de 100644 --- a/app/assets/javascripts/index.js +++ b/app/assets/javascripts/index.js @@ -19,6 +19,8 @@ $(document).ready(function () { map.attributionControl.setPrefix(''); + map.hash = L.hash(map); + var layers = [ new L.OSM.Mapnik({ attribution: '', @@ -48,42 +50,46 @@ $(document).ready(function () { layers[0].addTo(map); - map.noteLayer = new L.LayerGroup({code: 'N'}); + map.noteLayer = new L.LayerGroup(); + map.noteLayer.options = {code: 'N'}; + map.dataLayer = new L.OSM.DataLayer(null); + map.dataLayer.options.code = 'D'; $("#sidebar").on("opened closed", function () { map.invalidateSize(); }); - L.OSM.zoom({position: 'topright'}) + var position = $('html').attr('dir') === 'rtl' ? 'topleft' : 'topright'; + + L.OSM.zoom({position: position}) .addTo(map); - L.control.locate({position: 'topright'}) + L.control.locate({position: position}) .addTo(map); var sidebar = L.OSM.sidebar('#map-ui') .addTo(map); L.OSM.layers({ - position: 'topright', + position: position, layers: layers, sidebar: sidebar }).addTo(map); L.OSM.key({ - position: 'topright', + position: position, sidebar: sidebar }).addTo(map); L.OSM.share({ - getShortUrl: getShortUrl, - getUrl: getUrl, + position: position, sidebar: sidebar, short: true }).addTo(map); L.OSM.note({ - position: 'topright', + position: position, sidebar: sidebar }).addTo(map); @@ -95,24 +101,21 @@ $(document).ready(function () { map.markerLayer = L.layerGroup().addTo(map); if (!params.object_zoom) { - if (params.bbox) { - var bbox = L.latLngBounds([params.minlat, params.minlon], - [params.maxlat, params.maxlon]); - - map.fitBounds(bbox); - - if (params.box) { - L.rectangle(bbox, { - weight: 2, - color: '#e90', - fillOpacity: 0 - }).addTo(map); - } + if (params.bounds) { + map.fitBounds(params.bounds); } else { map.setView([params.lat, params.lon], params.zoom); } } + if (params.box) { + L.rectangle(params.box, { + weight: 2, + color: '#e90', + fillOpacity: 0 + }).addTo(map); + } + if (params.layers) { var foundLayer = false; for (var i = 0; i < layers.length; i++) { @@ -161,8 +164,8 @@ $(document).ready(function () { } initializeExport(map); - initializeBrowse(map); - initializeNotes(map); + initializeBrowse(map, params); + initializeNotes(map, params); }); function updateLocation() { @@ -174,6 +177,9 @@ function updateLocation() { var expiry = new Date(); expiry.setYear(expiry.getFullYear() + 10); $.cookie("_osm_location", cookieContent(this), { expires: expiry }); + + // Trigger hash update on layer changes. + this.hash.onMapMove(); } function setPositionLink(map) {