Javascript ionic.bundle.js:25642错误:[$injector:unpr]未知提供程序:$cordovageLocationProvider<;-$科尔多瓦地理定位<;-AgeCtrl

Javascript ionic.bundle.js:25642错误:[$injector:unpr]未知提供程序:$cordovageLocationProvider<;-$科尔多瓦地理定位<;-AgeCtrl,javascript,cordova,ionic-framework,geolocation,Javascript,Cordova,Ionic Framework,Geolocation,我目前正处于通过Ionic构建应用程序的开始阶段。现在我想在其中实现cordova地理定位。但是,在打开它时,这会不断出现错误。出于测试目的,我使用ionic serve并在localhost中检查它 angular.module('starter', ['ionic','ionic.service.core', 'ui.router']) .controller('AgeCtrl', function ($scope, $state, $http, $cordovaGeolocation) {

我目前正处于通过Ionic构建应用程序的开始阶段。现在我想在其中实现cordova地理定位。但是,在打开它时,这会不断出现错误。出于测试目的,我使用ionic serve并在localhost中检查它

angular.module('starter', ['ionic','ionic.service.core', 'ui.router'])
.controller('AgeCtrl', function ($scope, $state, $http, $cordovaGeolocation) {


$scope.toggleItem = function (item) {
    item.checked = !item.checked;
};

$scope.items = [
  { id: '0-12' },
  { id: '12-18' },
  { id: '18-30' },
  { id: '30-65' },
  { id: '65+' }
];

    $scope.time = Date.now();
   $scope.weather = $http.get("http://api.openweathermap.org/data/2.5/weather?q=Amsterdam&units=metric&APPID=...").then(function(resp) {
   console.log("success", resp);
   }, function(err) {
    console.log("error");
   })

var posOptions = {timeout: 10000, enableHighAccuracy: false};
$cordovaGeolocation
.getCurrentPosition(posOptions)

.then(function (position) {
  var lat  = position.coords.latitude
  var long = position.coords.longitude
  console.log(lat + '   ' + long)
}, function(err) {
  console.log(err)
});

$scope.Confirm = function (){
    $state.go('home');
}
})

是否有任何地方我犯了导致此问题的错误?

离子服务仅在浏览器中模拟应用程序。 您无法访问浏览器中的Cordova插件

要获得包含的库,您需要在添加特定平台后在设备上运行应用程序,具体取决于您拥有的设备

对于iOS:

离子平台添加ios

对于android:

离子平台添加android

添加平台后,您可以使用以下命令在设备上构建和运行

对于iOS:

离子运行iOS

对于android:

爱奥尼亚运行安卓系统


我认为它在爱奥尼亚没有被引用为
$cordovaGeolocation
。请尝试使用
navigator.geolocation.getCurrentPosition

我认为问题在于您的ngCordova安装。 执行以下步骤-

1-安装----------------->bower安装ngCordova

2-包含在cordova.js上方的index.html中----------------->script src=“lib/ngCordova/dist/ng cordova.js”

3-注入----------------->角度模块(起动器,['ngCordova'])

运行爱奥尼亚服务,问题将消失。。如果仍然显示/dist/ngCordova不存在的错误,则手动转到安装ng cordova的位置,并将其复制到路径,例如-/lib/ngCordova/dist/


它肯定会解决您的问题

您是否将插件正确添加到应用程序中?我们还制作了一个新项目并在那里进行了尝试。再次运行它会显示“插件cordova插件地理位置已经安装在android上”,不幸的是,我无法直接运行它。我试着制作一个APK并直接安装在我的手机上,不幸的是它仍然不起作用。还有3种可能性:1。在visual studio 2015中,使用它内置的跨平台工具运行它,使用Ripple模拟位置和运动。2.尝试将你的应用程序加载到ionic.io,然后将其下载到“ionic view”应用程序中。3.将其构建为一个包,并在带有APK的本机仿真器上运行。在您的手机(我想是android)上运行它时,您是否启用了开发者模式并激活了usb调试