summaryrefslogtreecommitdiff
path: root/frontend/gamma/js/JQTouch/extensions/jqt.location.js
authorClipperz <info@clipperz.com>2013-01-09 09:03:53 (UTC)
committer Clipperz <info@clipperz.com>2013-01-09 09:03:53 (UTC)
commit644891059e1f37d0748bc34b9ca78c05fa748214 (patch) (side-by-side diff)
treea746ee125d503088dc53dac823474e4295560947 /frontend/gamma/js/JQTouch/extensions/jqt.location.js
parenta9974c63bdcef65f009420dce095d1e39da7e3b8 (diff)
downloadclipperz-644891059e1f37d0748bc34b9ca78c05fa748214.zip
clipperz-644891059e1f37d0748bc34b9ca78c05fa748214.tar.gz
clipperz-644891059e1f37d0748bc34b9ca78c05fa748214.tar.bz2
Added JQTouch and Zepto libraries
JQTouch and Zepto are tentatively used for the mobile version of Clipperz. No final commitment has been made, though.
Diffstat (limited to 'frontend/gamma/js/JQTouch/extensions/jqt.location.js') (more/less context) (ignore whitespace changes)
-rw-r--r--frontend/gamma/js/JQTouch/extensions/jqt.location.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/frontend/gamma/js/JQTouch/extensions/jqt.location.js b/frontend/gamma/js/JQTouch/extensions/jqt.location.js
new file mode 100644
index 0000000..9d53a1a
--- a/dev/null
+++ b/frontend/gamma/js/JQTouch/extensions/jqt.location.js
@@ -0,0 +1,51 @@
+(function($) {
+ if ($.jQTouch)
+ {
+ $.jQTouch.addExtension(function Location(){
+
+ var latitude, longitude, callback, callback2;
+
+ function updateLocation(fn, fn2) {
+ if (navigator.geolocation)
+ {
+ callback = fn;
+ callback2 = fn2;
+ navigator.geolocation.getCurrentPosition(savePosition, failResponse);
+ return true;
+ } else {
+ console.log('Device not capable of geo-location.');
+ fn(false);
+ return false;
+ }
+ }
+ function failResponse(error){
+ if (callback2) {
+ callback2(error);
+ }
+ }
+ 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
+ };
+ });
+ }
+})($); \ No newline at end of file