我是anugularJS的新手,所以我可能做错了什么。我的角度版本是1.6.4。对于地理位置,我使用此模块angularjs-geolocation。以下是地理位置模块plunker的演示。通过在我的项目中包含此模块并在浏览器上进行测试,我发现了这个错误。我已经遵循了所有步骤,但我错过了一些东西。
可能未经处理的拒绝:无法确定您的位置
这是我的user-settings.component.js文件:
(function () {
"use strict";
var module = angular.module(__appName);
function controller($http, geolocation) {
var model = this;
model.location = function () {
console.log("inside");
model.coords = geolocation.getLocation().then(function (data) {
return { lat: data.coords.latitude, long: data.coords.longitude };
});
}
}
module.component("userSettings", {
templateUrl: "components/user-settings/user-settings.template.html",
bindings: {
userId: "<"
},
controllerAs: "model",
controller: ["$http", "geolocation", controller]
});
}());
这是我的user-settings.template.html文件:
<div class="text-center">
<button type="button" class="btn btn-default" ng-click="model.location()">Location</button>
{{model.coords}}
</div>
我的App.js文件:
angular.module(__appName, ["geolocation"]);
答案 0 :(得分:0)
我在本地计算机上运行了以下代码:
<html>
<head>
<script data-require="angular.js@1.2.0-rc2" data-semver="1.2.0-rc2" src="http://code.angularjs.org/1.2.0-rc.2/angular.js"></script>
<script src="https://rawgithub.com/arunisrael/angularjs-geolocation/master/dist/angularjs-geolocation.min.js"></script>
<script src="script.js"></script>
</head>
<body ng-app="myApp">
<div ng-controller="mainCtrl">
<p>Your location is: {{coords}}</p>
</div>
</body>
<script>
angular.module('myApp',['geolocation'])
.controller('mainCtrl', function ($scope,geolocation) {
geolocation.getLocation().then(function(data){
$scope.coords = {lat:data.coords.latitude, long:data.coords.longitude};
});
});
</script>
</html>
它有效。它跟你的没什么两样。未在 Plunker 中显示的位置可能是 Plunker 问题。
在本地服务器中试用。它会起作用。