Skip to content

Instantly share code, notes, and snippets.

@sejr
Created September 16, 2016 03:26
Show Gist options
  • Select an option

  • Save sejr/1f855474b595d2d02df8f872f770392b to your computer and use it in GitHub Desktop.

Select an option

Save sejr/1f855474b595d2d02df8f872f770392b to your computer and use it in GitHub Desktop.
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var plugin_1 = require('./plugin');
var Observable_1 = require('rxjs/Observable');
/**
* @name Geolocation
* @description
* This plugin provides information about the device's location, such as latitude and longitude. Common sources of location information include Global Positioning System (GPS) and location inferred from network signals such as IP address, RFID, WiFi and Bluetooth MAC addresses, and GSM/CDMA cell IDs.
*
* This API is based on the W3C Geolocation API Specification, and only executes on devices that don't already provide an implementation.
*
* @usage
*
* ```typescript
* import { Geolocation } from 'ionic-native';
*
*
* Geolocation.getCurrentPosition().then((resp) => {
* // resp.coords.latitude
* // resp.coords.longitude
* })
*
* let watch = Geolocation.watchPosition();
* watch.subscribe((data) => {
* // data.coords.latitude
* // data.coords.longitude
* })
* ```
*/
var Geolocation = (function () {
function Geolocation() {
}
/**
* Get the device's current position.
*
* @param {GeolocationOptions} options The [geolocation options](https://developer.mozilla.org/en-US/docs/Web/API/PositionOptions).
* @return Returns a Promise that resolves with the [position](https://developer.mozilla.org/en-US/docs/Web/API/Position) of the device, or rejects with an error.
*/
Geolocation.getCurrentPosition = function (options) { return; };
/**
* Watch the current device's position. Clear the watch by unsubscribing from
* Observable changes.
*
* ```typescript
* var subscription = Geolocation.watchPosition().subscribe(position => {
* console.log(position.coords.longitude + ' ' + position.coords.latitude);
* });
*
* // To stop notifications
* subscription.unsubscribe();
* ```
*
* @param {GeolocationOptions} options The [geolocation options](https://developer.mozilla.org/en-US/docs/Web/API/PositionOptions).
* @return Returns an Observable that notifies with the [position](https://developer.mozilla.org/en-US/docs/Web/API/Position) of the device, or errors.
*/
Geolocation.watchPosition = function (options) {
return new Observable_1.Observable(function (observer) {
var watchId = navigator.geolocation.watchPosition(observer.next.bind(observer), observer.error.bind(observer), options);
return function () { return navigator.geolocation.clearWatch(watchId); };
});
};
__decorate([
plugin_1.Cordova({
callbackOrder: 'reverse'
})
], Geolocation, "getCurrentPosition", null);
Geolocation = __decorate([
plugin_1.Plugin({
plugin: 'cordova-plugin-geolocation',
pluginRef: 'navigator.geolocation',
repo: 'https://github.com/apache/cordova-plugin-geolocation'
})
], Geolocation);
return Geolocation;
}());
exports.Geolocation = Geolocation;
//# sourceMappingURL=geolocation.js.map
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment