В настоящее время я нахожусь в начальной фазе строительства погоды приложения через ионный. Прямо сейчас я хочу реализовать геолокацию cordova, у меня есть ошибка Unknown provider: $cordovaGeolocationProvider <- $cordovaGeolocation
Я пытаюсь исправить, но безуспешно, но это продолжает давать ошибку при ее открытии. Для целей тестирования я использую ионную подачу и проверяю ее на локальном хосте.
мой код
(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'? –