-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathmylib-geolocation.js
More file actions
27 lines (23 loc) · 876 Bytes
/
Copy pathmylib-geolocation.js
File metadata and controls
27 lines (23 loc) · 876 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// My Library Location add-on
var API;
if (API && API.isHostObjectProperty && API.isHostObjectProperty(window, 'navigator') && API.isHostObjectProperty(window.navigator, 'geolocation') && API.isHostMethod(window.navigator.geolocation, 'getCurrentPosition')) {
(function() {
var savedPosition;
function doCallback(position, callback, thisObject) {
callback.call(thisObject || API, {
latitude: position.coords.latitude,
longitude: position.coords.longitude
}, position);
}
API.getGeoLocation = function(callback, thisObject, refresh) {
if (savedPosition && refresh !== false) {
doCallback(savedPosition, callback, thisObject);
} else {
window.navigator.geolocation.getCurrentPosition(function(position) {
savedPosition = position;
doCallback(position, callback, thisObject);
});
}
};
})();
}