Javascript 我如何在Angular JS中传递地理位置数据?
所以基本上我正在构建一个基于位置的angular/ionic应用程序,基本上每个功能都需要用户的地理位置。我正试图将位置数据从用户提供给表单、控制器等。我知道获取用户loc的调用如下所示,这是一个回调Javascript 我如何在Angular JS中传递地理位置数据?,javascript,angularjs,geolocation,ionic-framework,Javascript,Angularjs,Geolocation,Ionic Framework,所以基本上我正在构建一个基于位置的angular/ionic应用程序,基本上每个功能都需要用户的地理位置。我正试图将位置数据从用户提供给表单、控制器等。我知道获取用户loc的调用如下所示,这是一个回调 Navigator.geolocation.watchPosition(function (pos) { var latLng = new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude); }, func
Navigator.geolocation.watchPosition(function (pos) {
var latLng = new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude);
}, function (error) {
alert('Unable to get location: ' + error.message);
});
基本上,我该如何传递用户位置的结果,并将其用于其他各种功能?我是否需要在每个需要用户位置的地方复制此代码段注意,它处于监视模式以检测更改
非常感谢。您应该将该代码放入服务或工厂,然后根据需要将其注入控制器 创建一个工厂,让承诺解决问题
.factory('Local', ['$q', function($q){
return {getLocation: function(options){
var q = $q.defer();
navigator.geolocation.watchPosition(function (pos) {
var latLng = new google.maps.LatLng(pos.coords.latitude, pos.coords.longitude);
q.resolve(latLng);
}, function (error) {
q.reject(error)
}, options);
return q.promise;
}
}
}])
然后你可以把工厂注入任何你需要的地方