Мне сложно понять, почему контроллер не может видеть мою фабрику. Любые идеи о том, что я делаю неправильно?AngularJS не может распознать Factory
Мой контроллер:
myApp.controller('SNFController', ['$scope', '$http', '$routeParams', '$location', 'foundSnfs',
function($scope, $http, $routeParams, $location, foundSnfs) {
$scope.snfs = null;
$scope.chosensnf = [];
$scope.hidefilter = true;
$scope.getlocale = function() {
foundSnfs.getsnfs($scope.zip, $scope.miles).then(function(res){
$scope.snfs = res;
})
}])
Моя фабрика:
myApp.factory('foundSnfs', function($http) {
var foundSnfs = {};
foundSnfs.getsnfs = function (vz, vm){
var g = new google.maps.Geocoder();
g.geocode({ 'address': vz}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var la = results[0].geometry.location.lat();
var lo = results[0].geometry.location.lng();
var cl = new google.maps.LatLng(la, lo);
var dm = vm * 1609.34; // distance in miles from meters
var url = 'http://data.medicare.gov/resource/hq9i-23gr.json?$where=within_circle(location,'+la+','+lo+','+dm+')&$ORDER=overall_rating DESC';
return $http.get(url);
}
})
}
});
У меня есть 2 поля ввода, один с почтовым индексом, а другой с диапазоном пробега. Когда пользователь нажимает кнопку, $ scope.locale должен передать zip и мили на фабрику, которая затем обрабатывает геолокацию, а затем получает список домов престарелых от Medicare.
спасибо.
Как вы знаете, что это не работает? – Phil
Я бы сказал, что основная проблема заключается в том, что ваша фабричная функция не возвращает обещание. – Phil