throw { name: 'FatalError', message: 'Do not call this file. If you want to use it, remove this line.' }; /* * A simple jQuery Wrapper for Geolocation API * * @author: Manuel Bieh * @url: http://www.manuel-bieh.de/ * @documentation: http://www.manuel-bieh.de/blog/geolocation-jquery-plugin * @published: 2011-05-29 * @version 1.0.48 * @license MIT */ (function($){ $.extend({ geolocation: { watchIDs: [], get: function(o) { o = jQuery.geolocation.prepareOptions(o); $.geolocation.getCurrentPosition(o.success, o.error, o.options); }, watch: function(o) { o = jQuery.geolocation.prepareOptions(o); return $.geolocation.watchPosition(o.success, o.error, o.options); }, stop: function(watchID) { if(typeof navigator.geolocation != 'undefined') { navigator.geolocation.clearWatch(watchID); } }, getCurrentPosition: function(success, error, options) { if(typeof navigator.geolocation != 'undefined') { navigator.geolocation.getCurrentPosition(success, error, options); } else { error(); } }, watchPosition: function(success, error, options) { if(typeof navigator.geolocation != 'undefined') { watchID = navigator.geolocation.watchPosition(success, error, options); $.geolocation.watchIDs.push(watchID); return watchID; } else { error(); } }, clearWatch: function(watchID) { $.geolocation.stop(watchID); }, getPosition: function(o) { o = jQuery.geolocation.prepareOptions(o); $.geolocation.getCurrentPosition(o.success, o.error, o.options); }, prepareOptions: function(o) { if(!!o.error == false) { o.error = function() {} } if(!!o.options == false) { o.options = { highAccuracy: false, maximumAge: 30000, // 30 seconds timeout: 60000 // 1 minute } } if(!!o.win != false) { o.success = o.win; } if(!!o.fail != false) { o.error = o.fail; } return o; }, stopAll: function() { $.each(jQuery.geolocation.watchIDs, function(key, value) { $.geolocation.stop(value); }); } } }); })(jQuery);