首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Ti.Geolocation.getCurrentPosition访问/存储纬度和经度?

如何从Ti.Geolocation.getCurrentPosition访问/存储纬度和经度?
EN

Stack Overflow用户
提问于 2015-02-22 20:30:38
回答 2查看 540关注 0票数 0

我使用钛工作室(3.4.1),用JavaScript为iOS和安卓编写。

我试图获取设备的纬度和经度,并将其返回给一个函数,以便在另一个模块中调用该函数并将其传递给另一个函数。

这是geo.js,在里面我正在加载Ti.Geolocation.getCurrentPosition并试图将延迟返回到getLat()函数。然后,通过导出将其提供给app.js。

代码语言:javascript
复制
exports.getLat = function(){
Ti.Geolocation.getCurrentPosition(function(e) {
    console.log(e);
    timeout : 10000;
    return JSON.stringify(e.coords.latitude);
});
};

这是app.js,它检查应用程序运行的是哪个平台。它看到了一个iPhone,然后需要geo.getLat()。在此之后,我希望将纬度存储到变量lat中,稍后使用它将其作为参数提供给另一个函数,如getWdata(lat);

代码语言:javascript
复制
if (Ti.Platform.osname === 'android') {
    console.log('android version\n');
    var geo = require('geo');
    var lat = geo.getLat(0);
    var lng = geo.getLng(0);
    console.log('Android Coordinates: ' + lat, lng);    
        }

else if (Ti.Platform.osname === 'iphone' || 'ipad'){
    console.log('iOS version\n');
    var geo = require('geo');
    var lat = geo.getLat();
    geo.getLat();
    console.log('iOS Coordinates: ' + lat);
        }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-23 06:50:22

您将需要使用回调来完成此任务。简单的过程是将一个函数(称为回调)作为参数传递,然后使用return;调用回调函数。

另外,您不需要调用两种获取纬度/经度的方法,因为只能使用一种方法。

例子如下:

In geo.js:

代码语言:javascript
复制
exports.getLatLong = function(callback){
    Ti.Geolocation.getCurrentPosition(function(e) {
        if (e.success) {
            Ti.API.info("Cords latitude" + e.coords.latitude);
            Ti.API.info("Cords longitude" + e.coords.longitude);
            callback(e.coords.latitude, e.coords.longitude);
        } else {
            alert("Unable to fetch cords");
        }
    });
};

现在在app.js__中,将getLatLong函数调用为:

代码语言:javascript
复制
var geo = require('geo'), lat = 0, long = 0;
geo.getLatLong(function(latitude,longitude) {
    lat = latitude;
    long = longitude;
});

注意:使用Ti.API.info而不是console.log__。

票数 1
EN

Stack Overflow用户

发布于 2015-02-23 04:41:39

使用:

代码语言:javascript
复制
Titanium.Geolocation.getCurrentPosition(function(e) {
    if (e.success) {
        Ti.API.info("Cords longitude" + e.coords.longitude);
        Ti.API.info("Cords latitude" + e.coords.latitude);
    }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28662876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档