Android 离子地理定位:每1分钟检查一次手表位置
在我的ionic应用程序中,我需要记录gps坐标以解析核心后端Android 离子地理定位:每1分钟检查一次手表位置,android,cordova,parse-platform,geolocation,ionic,Android,Cordova,Parse Platform,Geolocation,Ionic,在我的ionic应用程序中,我需要记录gps坐标以解析核心后端 var opts={ enableHighAccuracy:true, timeout: 8000, maximumAge: 5000 }; var watch = $cordovaGeolocation.watchPosition(opts).then(function () { /* Not used */ }, f
var opts={
enableHighAccuracy:true,
timeout: 8000,
maximumAge: 5000
};
var watch = $cordovaGeolocation.watchPosition(opts).then(function () { /* Not used */
},
function (err) {
}, function (position) {
var lat = position.coords.latitude;
var long = position.coords.longitude;
$scope.slat=lat;
$scope.slong=long;
var uob=JSON.parse(localStorage.getItem('meemp'));
console.log(uob);
var point = new Parse.GeoPoint({latitude: lat, longitude: long});
console.log(point);
console.log(uob["objectId"]);
$timeout(function() {
var PeopleObject = Parse.Object.extend("PeopleObject");
var person = new PeopleObject();
person.set("lat", point);
person.set("uid", uob["objectId"]);
person.save(null, {});
},30000);
});
上面的代码检查位置中的任何更改,并将geopoint与objectid一起添加到解析核心中。但只要有变化,这种情况就会发生。我只需要每1秒记录一次更改。上述代码记录每次gps坐标变化。因此,有时它每分钟记录30-40次变化。。我每分钟只需要一个条目。。
如何执行此操作???您可以使用
getCurrentPosition()
获取单个位置,然后以固定的间隔调用它。大概是这样的:
var opts = {
enableHighAccuracy: true,
timeout: 8000,
maximumAge: 5000
};
var timer = setInterval(function(){
$cordovaGeolocation.getCurrentPosition(opts).then(function () { /* Not used */
},
function (err) {
}, function (position) {
var lat = position.coords.latitude;
var long = position.coords.longitude;
$scope.slat=lat;
$scope.slong=long;
var uob=JSON.parse(localStorage.getItem('meemp'));
console.log(uob);
var point = new Parse.GeoPoint({latitude: lat, longitude: long});
console.log(point);
console.log(uob["objectId"]);
$timeout(function() {
var PeopleObject = Parse.Object.extend("PeopleObject");
var person = new PeopleObject();
person.set("lat", point);
person.set("uid", uob["objectId"]);
person.save(null, {});
},30000);
});
}, 1000);
只要你的应用在前台,它就会工作。如果您需要在应用程序处于后台时记录位置,则需要使用不同的方法,例如。