X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/2fa422578448314fb6fad888b5c47cf994cb0b8c..b7d7781c5d333ec618a97fb0cb9d814d83fb3098:/app/assets/javascripts/welcome.js diff --git a/app/assets/javascripts/welcome.js b/app/assets/javascripts/welcome.js index 5773bfd6d..88b153af2 100644 --- a/app/assets/javascripts/welcome.js +++ b/app/assets/javascripts/welcome.js @@ -2,58 +2,44 @@ $(document).ready(function() { var params = OSM.params(); if (params.lat && params.lon) { - $('.edit-located').show(); - - $.ajax({ - url: "http://nominatim.openstreetmap.org/reverse", - data: { - lat: params.lat, - lon: params.lon, - zoom: 10 - }, - success: function(xml) { - var result = $(xml).find('result'); - if (result.length) { - $('.edit-located').hide(); - $('.edit-geocoded').show(); - $('.edit-geocoded-location').text(result.text()); - } - } - }); + params.lat = parseFloat(params.lat); + params.lon = parseFloat(params.lon); + params.zoom = params.zoom || 17; - params = { - lat: params.lat, - lon: params.lon, - zoom: params.zoom || 17, - editor: params.editor - }; + var url = '/edit'; - $('.start-mapping').attr('href', '/edit?' + $.param(params)); + if (params.editor) { + url += '?editor=' + params.editor; + } - } else if (navigator.geolocation) { - $('.edit-geolocated').show(); + url += OSM.formatHash(params); - function geoSuccess(position) { - window.location = '/edit?zoom=17&lat=' + position.coords.latitude + '&lon=' + position.coords.longitude; - } + $('.start-mapping').attr('href', url); - function geoError() { - $('.start-mapping') - .removeClass('loading') - .addClass('error'); + } else { + function geoSuccess(position) { + window.location = '/edit' + OSM.formatHash({ + zoom: 17, + lat: position.coords.latitude, + lon: position.coords.longitude + }); } $('.start-mapping').on('click', function(e) { e.preventDefault(); - - $('.start-mapping') - .addClass('loading'); + $('.start-mapping').addClass('loading'); // handle firefox's weird implementation // https://bugzilla.mozilla.org/show_bug.cgi?id=675533 - window.setTimeout(geoError, 4000); + window.setTimeout(manualEdit, 4000); - navigator.geolocation.getCurrentPosition(geoSuccess, geoError); + if (navigator.geolocation) { + navigator.geolocation.getCurrentPosition(geoSuccess, manualEdit); + } }); } + + function manualEdit() { + window.location = '/?edit_help=1'; + } });