使用 AngularJS 获取地理位置坐标
Posted
技术标签:
【中文标题】使用 AngularJS 获取地理位置坐标【英文标题】:Getting Geolocation coordinates using AngularJS 【发布时间】:2014-11-30 14:38:40 【问题描述】:我正在尝试使用 AngularJS 和 Geolocation 获取我所在位置的纬度和经度。 这是控制器中的函数,我在其中分配纬度和经度的值并将它们打印到浏览器控制台。调用了 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 作为坐标?
【问题讨论】:
【参考方案1】:一切都很简单 :) 您的 console.log 位于回退边界之外,
function (position)
mysrclat = position.coords.latitude;
mysrclong = position.coords.longitude;
console.log(mysrclat);
console.log(mysrclong);
);
http://jsfiddle.net/glebv/axrw7g90/18/
【讨论】:
谢谢.. 如果我需要在回调边界之外使用 mysrclat 和 mysrclong 的值,我该怎么办?就像我的情况一样,我需要在另一个函数中使用这些值..我已经尝试将它分配给 $scope 变量并在另一个函数中使用它也不起作用..有什么想法吗? 您应该将它们绑定到范围或将其实现为服务,这样会好得多。您可以使用github.com/arunisrael/angularjs-geolocation,我想它非常适合您的任务或服务的审查代码。它非常简单,可以用于您的海豚。以上是关于使用 AngularJS 获取地理位置坐标的主要内容,如果未能解决你的问题,请参考以下文章
AngularJS 将地理坐标从 Lambert 2 转换为 WSG84