openstreetmap-website/app/assets/javascripts/welcome.js
Tom Hughes 114f722860 Don't wait for a timeout when the browser doesn't support geolocation
If the browser doesn't support geolocation then we might as well just
start manual edit mode straight away rather than waiting four seconds.
2013-11-24 16:46:58 +00:00

47 lines
1.1 KiB
JavaScript

$(document).ready(function() {
var params = OSM.params();
if (params.lat && params.lon) {
params.lat = parseFloat(params.lat);
params.lon = parseFloat(params.lon);
params.zoom = params.zoom || 17;
var url = '/edit';
if (params.editor) {
url += '?editor=' + params.editor;
}
url += OSM.formatHash(params);
$('.start-mapping').attr('href', url);
} 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');
if (navigator.geolocation) {
// handle firefox's weird implementation
// https://bugzilla.mozilla.org/show_bug.cgi?id=675533
window.setTimeout(manualEdit, 4000);
navigator.geolocation.getCurrentPosition(geoSuccess, manualEdit);
} else {
manualEdit();
}
});
}
function manualEdit() {
window.location = '/?edit_help=1';
}
});