jQuery-Geolocation
jQuery-Geolocation copied to clipboard
jQuery plugin which acts as a simplification of the W3C Geolocation API
jQuery Geolocation
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.
Usage
$.geolocation.clearWatch(integer watchID)
Stops tracking of the user for the according watchID.
$.geolocation.get(object config)
Get the current position of the user
Config properties
-
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
$.geolocation.getCurrentPosition(callback success, callback error, object settings)
Get the current position of the user (API standard behavior)
Parameters
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
$.geolocation.stop(integer watchID)
Stops tracking of the user for the according watchID.
$.geolocation.stopAll()
Stops all running watchPosition callbacks.
$.geolocation.watch(object config)
Track the movement of the user Returns: watchID (Integer)
Config properties
-
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
$.geolocation.watchPosition(callback success, callback error, object settings)
Track the movement of the user (API standard behavior) Returns: watchID (Integer)
Parameters
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
Examples
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);
});
Deferreds
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.