diff options
author | Alib <aliboba@free.fr> | 2010-03-15 17:56:22 +0100 |
---|---|---|
committer | Alib <aliboba@free.fr> | 2010-03-15 17:56:22 +0100 |
commit | 438912c0c4a4075a5cd74cf9689451c9df4bbe34 (patch) | |
tree | 334e03bbba01b002a34d3cbf81ee7e600ec7bff6 /themes/extensions/jqt.location.js | |
parent | a8012963c23e7e5eaf487ee9e192ae5c4d4ccff2 (diff) | |
download | istreamdev-438912c0c4a4075a5cd74cf9689451c9df4bbe34.tar.gz istreamdev-438912c0c4a4075a5cd74cf9689451c9df4bbe34.tar.bz2 |
New Jquery branch. Initial development version for istreamdev 1.0
Diffstat (limited to 'themes/extensions/jqt.location.js')
-rw-r--r-- | themes/extensions/jqt.location.js | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/themes/extensions/jqt.location.js b/themes/extensions/jqt.location.js new file mode 100644 index 0000000..29b79a0 --- /dev/null +++ b/themes/extensions/jqt.location.js @@ -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 |