我想从服务提供商文件返回地理位置纬度和经度值 .
代码如下所示 . 组件或页面'home.ts'
import { WeatherProvider } from '../../providers/weather/weather';
constructor(public navCtrl: NavController,private weatherProvider: WeatherProvider) {
console.log(this.weatherProvider.getGeoLocation()+'kkk');
}
提供者文件'weather.ts'
import { Geolocation } from '@ionic-native/geolocation';
....
....
constructor(public http: Http, private geolocation: Geolocation) { }
getGeoLocation() {
this.geolocation.getCurrentPosition().then((resp) => {
// console.log(resp.coords.latitude)
// console.log(resp.coords.longitude)
return resp;
}).catch((error) => {
console.log('Error getting location', error);
});
}
我得到的结果是未定义的 . 我是打字稿的新手,抱歉这个愚蠢的问题 . 谢谢大家
3 回答
您需要从组件中的服务和链中返回承诺 .
在您的组件中,调用
Promise.then()
以访问从promise返回的resp
,你应该在调用this.geolocation.getCurrentPosition之前添加return,因为它是一个promise .
Add this code your service 'weather.ts'
And your component file: