X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/de5a225a95125db1a66d6dfbaa3a790db9719c18..ce53e510adb1baed6cc8f27e48d810a586853e55:/app/assets/javascripts/index.js?ds=sidebyside diff --git a/app/assets/javascripts/index.js b/app/assets/javascripts/index.js index 6ea276230..2f0c16097 100644 --- a/app/assets/javascripts/index.js +++ b/app/assets/javascripts/index.js @@ -19,6 +19,8 @@ $(document).ready(function () { map.attributionControl.setPrefix(''); + new L.Hash(map); + var layers = [ new L.OSM.Mapnik({ attribution: '', @@ -51,30 +53,34 @@ $(document).ready(function () { map.noteLayer = new L.LayerGroup({code: 'N'}); map.dataLayer = new L.OSM.DataLayer(null); - $("#map").on("resized", function () { + $("#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'); + 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({ + position: position, getShortUrl: getShortUrl, getUrl: getUrl, sidebar: sidebar, @@ -82,7 +88,7 @@ $(document).ready(function () { }).addTo(map); L.OSM.note({ - position: 'topright', + position: position, sidebar: sidebar }).addTo(map); @@ -94,24 +100,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++) { @@ -135,8 +138,6 @@ $(document).ready(function () { addObjectToMap(params.object, map, { zoom: params.object_zoom }); } - handleResize(); - $("body").on("click", "a.set_position", setPositionLink(map)); $("a[data-editor=remote]").click(function(e) { @@ -148,8 +149,6 @@ $(document).ready(function () { remoteEditHandler(map.getBounds()); } - $(window).resize(handleResize); - $("#search_form").submit(submitSearch(map)); @@ -172,7 +171,7 @@ function updateLocation() { updatelinks(this.getCenter().wrap(), this.getZoom(), this.getLayersCode(), - this.getBounds().wrap(), {}); + this.getBounds().wrap()); var expiry = new Date(); expiry.setYear(expiry.getFullYear() + 10); @@ -209,10 +208,10 @@ function submitSearch(map) { $("#sidebar_title").html(I18n.t('site.sidebar.search_results')); $("#sidebar_content").load($(this).attr("action"), { query: $("#query").val(), - minlon: bounds.getWestLng(), - minlat: bounds.getSouthLat(), - maxlon: bounds.getEastLng(), - maxlat: bounds.getNorthLat() + minlon: bounds.getWest(), + minlat: bounds.getSouth(), + maxlon: bounds.getEast(), + maxlat: bounds.getNorth() }, openSidebar); return e.preventDefault();