X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/1a51f2187127f7376e2118b5a4ced49123b0504a..6edb8dae058979f9c5cb198ad4f7af3f700ba84b:/app/assets/javascripts/welcome.js diff --git a/app/assets/javascripts/welcome.js b/app/assets/javascripts/welcome.js index 5409c9ec9..77d1d513c 100644 --- a/app/assets/javascripts/welcome.js +++ b/app/assets/javascripts/welcome.js @@ -1,54 +1,40 @@ -$(document).ready(function() { +$(document).ready(function () { var params = OSM.params(); if (params.lat && params.lon) { - $('.edit-located').show(); + var url = "/edit"; - $.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()); - } - } - }); - - $('.start-mapping').on('click', function(e) { - window.location = '/edit?zoom=17&lat=' + params.lat + '&lon=' + params.lon; - }); - - } else if (navigator.geolocation) { - $('.edit-geolocated').show(); - - function geoSuccess(position) { - window.location = '/edit?zoom=17&lat=' + position.coords.latitude + '&lon=' + position.coords.longitude; - } + if (params.editor) url += "?editor=" + params.editor; + if (!params.zoom) params.zoom = 17; + url += OSM.formatHash(params); - function geoError() { - $('.start-mapping') - .removeClass('loading') - .addClass('error'); - } - - $('.start-mapping').on('click', function(e) { + $(".start-mapping").attr("href", url); + } else { + $(".start-mapping").on("click", function (e) { e.preventDefault(); + $(".start-mapping").addClass("loading"); - $('.start-mapping') - .addClass('loading'); + if (navigator.geolocation) { + // handle firefox's weird implementation + // https://bugzilla.mozilla.org/show_bug.cgi?id=675533 + window.setTimeout(manualEdit, 4000); - // handle firefox's weird implementation - // https://bugzilla.mozilla.org/show_bug.cgi?id=675533 - window.setTimeout(geoError, 4000); + navigator.geolocation.getCurrentPosition(geoSuccess, manualEdit); + } else { + manualEdit(); + } + }); + } - navigator.geolocation.getCurrentPosition(geoSuccess, geoError); + function geoSuccess(position) { + window.location = "/edit" + OSM.formatHash({ + zoom: 17, + lat: position.coords.latitude, + lon: position.coords.longitude }); } + + function manualEdit() { + window.location = "/?edit_help=1"; + } });