我目前正處於通過Ionic構建應用程序天氣的初始階段。現在我想實施科爾多瓦地理定位,我有錯誤Unknown provider: $cordovaGeolocationProvider <- $cordovaGeolocation
我嘗試修復,但不成功,但是這會不斷給出一個錯誤時,打開它。爲了測試目的,我使用離子服務並在localhost中檢查它。
我的代碼
(function() {
angular.module('app.weather', ['ionic'])
.factory('Weather', function($q, $http) {
var deferred = $q.defer();
function getCurrentWeather(lat, lng) {
var url = 'https://api.forecast.io/forecast//' + lat + ',' + lng + '?callback=JSON_CALLBACK';
$http.jsonp(url)
.success(deferred.resolve)
.error(deferred.reject);
return deferred.promise;
}
return {
getCurrentWeather: getCurrentWeather
};
})
.controller('WeatherCtrl', function($scope, $cordovaGeolocation, Weather) {
$scope.loading = true;
$scope.toCelsius = function(temperature) {
return ((temperature - 32)/1.8).toFixed(1);
};
$cordovaGeolocation
.getCurrentPosition({
timeout: 10000,
enableHighAccuracy: false
})
.then(function(position) {
var lat = position.coords.latitude;
var long = position.coords.longitude;
Weather.getCurrentWeather(lat, long).then(function(data) {
$scope.weatherInfo = data;
$scope.loading = false;
}, function(error) {
//TODO Display error message
});
}, function(err) {
//TODO Display error message
});
});
})();
代碼的html
<ion-view title="الرئيسية" id="page2" style="background-color:#FFFFFF;" class=" ">
<ion-content padding="true" class="has-header">
<ion-pane>
<div ng-controller="WeatherCtrl as weatherCtrl">
<div ng-show="loading">
Carregando informações...
</div>
<div ng-hide="loading">
<p>
Temperatura: {{toCelsius(weatherInfo.currently.temperature)}}º
</p>
<p>
Sensação térmica: {{toCelsius(weatherInfo.currently.apparentTemperature)}}º
</p>
</div>
</div>
</ion-content>
</ion-view>
試試這個http://stackoverflow.com/a/36158618/ 5059916 –
你有沒有包含'ng-cordova'文件? –