diff options
Diffstat (limited to 'extensions/.svn/text-base/jqt.location.js.svn-base')
-rw-r--r-- | extensions/.svn/text-base/jqt.location.js.svn-base | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/extensions/.svn/text-base/jqt.location.js.svn-base b/extensions/.svn/text-base/jqt.location.js.svn-base new file mode 100644 index 0000000..a944953 --- /dev/null +++ b/extensions/.svn/text-base/jqt.location.js.svn-base @@ -0,0 +1,68 @@ +/* + + _/ _/_/ _/_/_/_/_/ _/ + _/ _/ _/ _/_/ _/ _/ _/_/_/ _/_/_/ + _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ + _/ _/_/ _/ _/ _/_/ _/_/_/ _/_/_/ _/ _/ + _/ + _/ + + Created by David Kaneda <http://www.davidkaneda.com> + Documentation and issue tracking on Google Code <http://code.google.com/p/jqtouch/> + + Special thanks to Jonathan Stark <http://jonathanstark.com/> + and pinch/zoom <http://www.pinchzoom.com/> + + (c) 2009 by jQTouch project members. + See LICENSE.txt for license. + +*/ + +(function($) { + if ($.jQTouch) + { + $.jQTouch.addExtension(function Location(){ + + var latitude, longitude, callback; + + function checkGeoLocation() { + return navigator.geolocation; + } + function updateLocation(fn) { + if (checkGeoLocation()) + { + callback = fn; + navigator.geolocation.getCurrentPosition(savePosition); + return true; + } else { + console.log('Device not capable of geo-location.'); + fn(false); + return false; + } + } + function savePosition(position) { + latitude = position.coords.latitude; + longitude = position.coords.longitude; + if (callback) { + callback(getLocation()); + } + } + function getLocation() { + if (latitude && longitude) { + return { + latitude: latitude, + longitude: longitude + } + } else { + console.log('No location available. Try calling updateLocation() first.'); + return false; + } + } + return { + updateLocation: updateLocation, + getLocation: getLocation + } + }); + } +})(jQuery);
\ No newline at end of file |