起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7148|回复: 14

[结贴] 后台实时定位的问题

[复制链接]

29

主题

113

帖子

199

积分

初级会员

Rank: 2

积分
199
QQ
发表于 2018-6-5 10:28:46 | 显示全部楼层 |阅读模式
BeX5 V3.7版本
做了一个实时定位,用插件是require("cordova!cordova-plugin-geolocation")  和  require("cordova!de.appplant.cordova.plugin.background-mode")
写了一个定时器执行navigator.geolocation.getCurrentPosition(successCallback, errorCallback)方法
setInterval(function(){
    navigator.geolocation.getCurrentPosition(successCallback, errorCallback);
}, 3000)

此时运行app一切正常

放到后台运行时,调用这个方法
Model.prototype.backgroundMode = function(event){
                var me = this;
                //激活后台运行
                document.addEventListener('deviceready', function() {
            cordova.plugins.backgroundMode.enable();

            cordova.plugins.backgroundMode.onactivate = function() {
                timer = setInterval(function() {
                        // 监听位置
                                navigator.geolocation.getCurrentPosition(success, error);
                                function success(position) {
                                        me._longitude = position.coords.longitude;
                                        me._latitude = position.coords.latitude;
                                        server.sendRequest({
                                                "url" : "/test/update",
                                                "async" : false,
                                                "params" : {
                                                        ygId : localStorage.getItem("userid"),
                                                        latitude : me._latitude,
                                                        longitude : me._longitude
                                                }
                                        });
                                }
                                function error() {
                                        justep.Util.hint("获取当前位置失败");
                                }
                }, 3000);
            };
            cordova.plugins.backgroundMode.ondeactivate = function() {
                clearInterval(timer);
            };
        });
        }

这时也可以正常运行,但是获取到的经纬度是一样的,这是什么原因

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-6-5 10:41:24 | 显示全部楼层
多个手机在不同的地方获取到的经纬度一样?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

29

主题

113

帖子

199

积分

初级会员

Rank: 2

积分
199
QQ
 楼主| 发表于 2018-6-5 10:53:32 | 显示全部楼层
jishuang 发表于 2018-6-5 10:41
多个手机在不同的地方获取到的经纬度一样?

只用了一个手机测试,刚才又测了一下,后台运行,发现有时经纬度不一样,(不停在走动的包括室内和室外),三秒获取一次,而非后台运行一点问题都没有,每次都能保证获取到不一样的经纬度
回复 支持 反对

使用道具 举报

29

主题

113

帖子

199

积分

初级会员

Rank: 2

积分
199
QQ
 楼主| 发表于 2018-6-5 11:05:30 | 显示全部楼层
jishuang 发表于 2018-6-5 10:41
多个手机在不同的地方获取到的经纬度一样?

再有一点就是如果长时间在后台运行,就会停止定位服务,该如何防止
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-6-5 11:59:55 | 显示全部楼层
频繁获取地理位置,建议使用监听方法watchPosition
http://docs.wex5.com/wex5-app-question-list-2140/
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

29

主题

113

帖子

199

积分

初级会员

Rank: 2

积分
199
QQ
 楼主| 发表于 2018-6-5 13:38:52 | 显示全部楼层
jishuang 发表于 2018-6-5 11:59
频繁获取地理位置,建议使用监听方法watchPosition
http://docs.wex5.com/wex5-app-question-list-2140/ ...

这个方法试过了,获取不到经纬度,我只需要获取经纬度,不需要位置信息
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-6-5 14:36:13 | 显示全部楼层
平台默认的案例也获取不到?
/UI2/demo/native/geolocation/mainActivity.w
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

29

主题

113

帖子

199

积分

初级会员

Rank: 2

积分
199
QQ
 楼主| 发表于 2018-6-5 16:30:11 | 显示全部楼层
jishuang 发表于 2018-6-5 14:36
平台默认的案例也获取不到?
/UI2/demo/native/geolocation/mainActivity.w

平台默认的没试过,说错了,不是获取不到,是执行error的回调方法了,提示定位失败
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36185
发表于 2018-6-5 16:37:08 | 显示全部楼层
用平台的案例测试看看
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

29

主题

113

帖子

199

积分

初级会员

Rank: 2

积分
199
QQ
 楼主| 发表于 2018-6-5 17:27:04 | 显示全部楼层
jishuang 发表于 2018-6-5 16:37
用平台的案例测试看看

结贴吧,问题解决了,感谢版主
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-13 21:28 , Processed in 0.059018 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表