Estoy practicando con angularJS, y estoy atascado con el siguiente problema:
En mi controlador tengo una funcion getDistance que toma los valores del navegador navigator.geolocation.getCurrentPosition. La latitud y longitud la guardo en $scope.lat y $scope.lng pero si las quiero usar mas adelante me dice que no estan definidas undefined
Adjunto el codigo
$scope.getDistance = function(n){
navigator.geolocation.getCurrentPosition(function(pos){
$scope.lat = pos.coords.latitude;
$scope.lng = pos.coords.longitude;
$scope.$apply();
console.log($scope.lat); //Aqui si muestra el valor
});
console.log($scope.lat) //Undefined ??
Que puedo hacer?
En mi controlador tengo una funcion getDistance que toma los valores del navegador navigator.geolocation.getCurrentPosition. La latitud y longitud la guardo en $scope.lat y $scope.lng pero si las quiero usar mas adelante me dice que no estan definidas undefined
Adjunto el codigo
$scope.getDistance = function(n){
navigator.geolocation.getCurrentPosition(function(pos){
$scope.lat = pos.coords.latitude;
$scope.lng = pos.coords.longitude;
$scope.$apply();
console.log($scope.lat); //Aqui si muestra el valor
});
console.log($scope.lat) //Undefined ??
Que puedo hacer?
Gracias!
09/01/2015 13:17
22/01/2015 09:43
Al principio del controller, fuera de la función, define esas variables en el scope haciendo
$scope.lat = "";
$scope.lng = "";