gpt4 book ai didi

javascript - 如何在 angularjs 中使用 HTML5 地理定位

转载 作者:IT王子 更新时间:2023-10-29 03:22:32 25 4
gpt4 key购买 nike

如何在 angularjs 中使用 HTML5 地理定位?我可以使用 HTML5 获取它;但是如何将它传递给 Controller ​​中的 angularjs 范围?任何示例 jsfiddle 都会节省我的时间!

最佳答案

我建议将其抽象为一个服务,这样您的 Controller 就不会依赖于 window.navigator,并避免不必要地使用 $scope.$apply()。这是我在我的项目中使用的:

angular.module('app', []).factory('geolocationSvc', ['$q', '$window', function ($q, $window) {

'use strict';

function getCurrentPosition() {
var deferred = $q.defer();

if (!$window.navigator.geolocation) {
deferred.reject('Geolocation not supported.');
} else {
$window.navigator.geolocation.getCurrentPosition(
function (position) {
deferred.resolve(position);
},
function (err) {
deferred.reject(err);
});
}

return deferred.promise;
}

return {
getCurrentPosition: getCurrentPosition
};
}]);

然后我像这样在我的 Controller 中使用它:

function captureUserLocation() {
geolocationSvc.getCurrentPosition().then(onUserLocationFound);
}

关于javascript - 如何在 angularjs 中使用 HTML5 地理定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23185619/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com