Próbuję uzyskać szerokość i długość geograficzną mojej pozycji za pomocą AngularJS i Geolocation. Jest to funkcja kontrolera, w której przypisuję wartości szerokości i długości geograficznej i wypisuję je do konsoli przeglądarki. Funkcja nearme() jest wywoływana,Uzyskiwanie współrzędnych geolokacji przy użyciu AngularJS
var mysrclat= 0; var mysrclong = 0;
$scope.nearme = function($scope) {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
mysrclat = position.coords.latitude;
mysrclong = position.coords.longitude;
});
console.log(mysrclat);
console.log(mysrclong);
}
}
Kwestia jest taka, że po raz pierwszy, współrzędne wydrukować jako 0, 0. Następnie, po czym drukuje odpowiednie wartości współrzędnych. Dlaczego drukuje 0, 0 jako współrzędne po raz pierwszy?
Dzięki .. Co mam zrobić, jeśli muszę wykorzystać wartości mysrclat i mysrclong poza granice połączeń zwrotnych? tak jak w moim przypadku, potrzebuję użyć tych wartości w innej funkcji .. Próbowałem przypisanie jej do zmiennej $ scope i używanie jej w innej funkcji też nie działa..nie pomysły? – user2297790
Powinieneś powiązać je z zakresem lub wdrożyć jako usługę, o wiele lepiej. Możesz użyć https://github.com/arunisrael/angularjs-geolocation, myślę, że jest to bardzo przydatne dla twojego zadania lub przeglądu kodu usługi. To bardzo proste i używać go dla swoich morświnów. –