A small jQuery plugin which acts as a simplification of the Geolocation API.
Instead of using navigator.geolocation.getCurrentPosition you can now just use the jQuery methods $.geolocation.get()
or $.geolocation.watch()
.
Contrary to the standard API the only parameter the functions expect is an object with three properties in no particular order: success
, error
, options
. For success
and error
you can also use their alias properties win
(or done
) and fail
: $.geolocation.get({win: function() {}, fail: function() {}, options);
You can also use $.geolocation.getCurrentPosition(success, error, options)
to get native API feeling if this makes you happier. In conjunction with my Geolocation API polyfill this also works with some non-standard Geolocation APIs like Google Gears or Blackberry Location.
Stops tracking of the user for the according watchID.
Get the current position of the user
-
error
Function to call if geolocation request failed -
fail
Alias for error -
options
Options for the geolocation request
• enableHighAccuracy
• maximumAge
• timeout -
success
Function to call if geolocation request was successful -
win
Alias for success
Get the current position of the user (API standard behavior)
success Function to call if geolocation request was successful
error Function to call if geolocation request failed
options Options for the geolocation request
- enableHighAccuracy
- maximumAge
- timeout
Stops tracking of the user for the according watchID.
Stops all running watchPosition callbacks.
Track the movement of the user Returns: watchID (Integer)
-
error
Function to call if geolocation request failed -
fail
Alias for error -
settings
Options for the geolocation request
• enableHighAccuracy
• maximumAge
• timeout -
success
Function to call if geolocation request was successful -
win
Alias for success
Track the movement of the user (API standard behavior) Returns: watchID (Integer)
success Function to call if geolocation request was successful
error Function to call if geolocation request failed
options Options for the geolocation request
- enableHighAccuracy
- maximumAge
- timeout
function alertMyPosition(position) { alert("Your position is " + position.coords.latitude + ", " + position.coords.longitude); } function noLocation(error) { alert("No location info available. Error code: " + error.code); } $('#getPositionButton').on('click', function() { $.geolocation.get({win: alertMyPosition, fail: noLocation}); }); $('#watchPositionButton').on('click', function() { // alertMyPosition is called each time the user's position changes myPosition = $.geolocation.watch({win: alertMyPosition}); }); $('#stopButton').on('click', function() { $.geolocation.stop(myPosition); });
New in 1.1.0:
jQuery Deferreds are now supported for get
and getCurrentPosition
. Just use:
$.geolocation.get().done(successCallback).fail(errorCallback);
Attention: Deferreds support is in beta state.