我正在尝试使用AngularJS和Geolocation来获取我的位置的经度和纬度.
这是控制器中的功能,我在其中分配纬度和经度的值并将它们打印到浏览器控制台.调用nearme()函数,
这是控制器中的功能,我在其中分配纬度和经度的值并将它们打印到浏览器控制台.调用nearme()函数,
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); } }
问题是,第一次,坐标打印为0,0.然后,打印出正确的坐标值.为什么第一次打印0,0作为坐标?
解决方法
一切都很简单:)你的console.log位于collback border之外,
function (position) { mysrclat = position.coords.latitude; mysrclong = position.coords.longitude; console.log(mysrclat); console.log(mysrclong); });