0

当我收到给定用户的地理位置时,我想更新一些字段。

直到知道我有以下代码:

http://jsfiddle.net/VSph2/10/

首先,我得到一个Error: Unknown provider: positionProvider <- position(仅在 jsfiddle 上)。我在我的真实网站上没有收到此错误。

问题是,当我获得位置时,我会更新position服务中的对象,但它不会在 HTML 视图中更新。

有什么建议么?

4

1 回答 1

2

尝试这个。小提琴

var test = angular.module('myApp', []);
var services = angular.module('myApp.services', []);
services.factory('position', ['$http', function ($http) { ...

应该

var test = angular.module('myApp', []);
test.factory('position', ['$http', function ($http) { ...

您应该像这样更新控制器代码,以使用回调函数和 $apply 将值集应用到范围。

position.getPosition(function (p) {
    $scope.$apply(function () {
        $scope.position.latitude = p.coords.latitude;
        $scope.position.longitude = p.coords.longitude;
        $scope.position.accuracy = p.coords.accuracy;
    });
});
于 2013-07-28T18:56:12.093 回答