2017-04-01 67 views
0

我试图使用背景地理位置,我发现此链接: [链接] https://www.joshmorony.com/adding-background-geolocation-t ... /。 “Geoposition不知道”类型的脚本错误。Ionic2的背景地理位置

离子版本:2.2.1,节点版本:6.10.0,科尔多瓦版本:6.5.0用于ionic2 geoloca

location-tracker : 
 

 

 
import { Injectable, NgZone } from '@angular/core'; 
 
import { Geolocation,Geoposition, BackgroundGeolocation } from 'ionic-native'; 
 
import 'rxjs/add/operator/filter'; 
 
    
 
@Injectable() 
 
export class LocationTracker { 
 
    
 
    public watch: any;  
 
    public lat: number = 0; 
 
    public lng: number = 0; 
 
    
 
    constructor(public zone: NgZone) { 
 
    
 
    } 
 
    
 
    startTracking() { 
 
// Background Tracking 
 
    
 
    let config = { 
 
    desiredAccuracy: 0, 
 
    stationaryRadius: 20, 
 
    distanceFilter: 10, 
 
    debug: true, 
 
    interval: 2000 
 
    }; 
 
    
 
    BackgroundGeolocation.configure((location) => { 
 
    
 
    console.log('BackgroundGeolocation: ' + location.latitude + ',' + location.longitude); 
 
    
 
    // Run update inside of Angular's zone 
 
    this.zone.run(() => { 
 
     this.lat = location.latitude; 
 
     this.lng = location.longitude; 
 
    }); 
 
    
 
    }, (err) => { 
 
    
 
    console.log(err); 
 
    
 
    }, config); 
 
    
 
    // Turn ON the background-geolocation system. 
 
    BackgroundGeolocation.start(); 
 
    
 
    
 
    // Foreground Tracking 
 
    
 
    let options = { 
 
    frequency: 3000, 
 
    enableHighAccuracy: true 
 
    }; 
 
    
 
    this.watch = Geolocation.watchPosition(options).filter((p: any) => p.code === undefined).subscribe((position: Geoposition) => { 
 
    
 
    console.log(position); 
 
    
 
    // Run update inside of Angular's zone 
 
    this.zone.run(() => { 
 
     this.lat = position.coords.latitude; 
 
     this.lng = position.coords.longitude; 
 
    }); 
 
    
 
    }); 
 
    
 
    } 
 
    
 
    stopTracking() { 
 
    
 
console.log('stopTracking'); 
 
    
 
    BackgroundGeolocation.finish(); 
 
    this.watch.unsubscribe(); 
 
    
 
    } 
 
    
 
}

+0

请告诉我们实际的代码.. – yaboiduke

回答

0

假设.ANY建议您已经运行了以下命令;

ionic plugin add cordova-plugin-geolocation 
npm install --save @ionic-native/geolocation 
ionic plugin add cordova-plugin-mauron85-background-geolocation 
npm install --save @ionic-native/background-geolocation 

尝试导入插件如下:

import { BackgroundGeolocation } from '@ionic-native/background-geolocation'; 
import { Geolocation, Geoposition } from '@ionic-native/geolocation';