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 に答える