コード例 #1
0
var promises = require("promises");
var timer = require("timer/timer");
var types = require("location/location-types");
var locationManagerModule = require("location/location-manager");

var merger = require("utils/module-merge");

merger.merge(types, exports);
merger.merge(locationManagerModule, exports);

exports.getLocation = function (options) {
    var d = promises.defer();

    var timerId;
    var locationManager = new locationManagerModule.LocationManager();

    if (options && (0 === options.timeout)) {
        var location = locationManager.lastKnownLocation;
        if (location) {
            if (options && ("number" === typeof options.maximumAge)) {
                if (location.timestamp.valueOf() + options.maximumAge > new Date().valueOf()) {
                    d.resolve(location);
                } else {
                    d.reject(new Error("timeout is 0 and last known location is older than maximumAge"));
                }
            } else {
                d.resolve(location);
            }
        } else {
            d.reject(new Error("timeout is 0 and no known location found"));
        }
コード例 #2
0
ファイル: location.android.js プロジェクト: 3logy/hello-world
var enums = require("ui/enums");
var appModule = require("application");
var locationModule = require("location");
var common = require("location/location-common");
var merger = require("utils/module-merge");
merger.merge(common, exports);
var LocationManager = (function () {
    function LocationManager() {
        this.desiredAccuracy = enums.Accuracy.any;
        this.updateDistance = 0;
        var alm = appModule.android.context.getSystemService(android.content.Context.LOCATION_SERVICE);
        this.androidLocationManager = new AndroidLocationManager(alm);
        this.androidLocationManager.minimumUpdateTime = 200;
    }
    Object.defineProperty(LocationManager.prototype, "android", {
        get: function () {
            return this.androidLocationManager;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(LocationManager.prototype, "ios", {
        get: function () {
            return undefined;
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(LocationManager.prototype, "locationListener", {
        get: function () {
            if (!this._locationListener) {