]> git.openstreetmap.org Git - rails.git/blob - app/assets/javascripts/welcome.js
60648383adc10efa3979950848b5ef47c834be2c
[rails.git] / app / assets / javascripts / welcome.js
1 $(document).ready(function() {
2   var params = OSM.params();
3
4   if (params.lat && params.lon) {
5     params.lat = parseFloat(params.lat);
6     params.lon = parseFloat(params.lon);
7     params.zoom = params.zoom || 17;
8
9     var url = '/edit';
10
11     if (params.editor) {
12       url += '?editor=' + params.editor;
13     }
14
15     url += OSM.formatHash(params);
16
17     $('.start-mapping').attr('href', url);
18
19   } else if (navigator.geolocation) {
20     function geoSuccess(position) {
21       window.location = '/edit' + OSM.formatHash({
22         zoom: 17,
23         lat: position.coords.latitude,
24         lon: position.coords.longitude
25       });
26     }
27
28     function geoError() {
29       $('.start-mapping')
30         .removeClass('loading')
31         .addClass('error');
32     }
33
34     $('.start-mapping').on('click', function(e) {
35       e.preventDefault();
36
37       $('.start-mapping')
38         .addClass('loading');
39
40       // handle firefox's weird implementation
41       // https://bugzilla.mozilla.org/show_bug.cgi?id=675533
42       window.setTimeout(geoError, 4000);
43
44       navigator.geolocation.getCurrentPosition(geoSuccess, geoError);
45     });
46   }
47 });