TypeError: Cannot read property 'Erfolg' von undefined
Ich bin momentan dabei, einen service für die Rückgabe der Koordinaten einer Position. Aber ich brauche eine Möglichkeit, um einen Wert zurückzugeben.
angular.module('google.maps', [])
.factory('geocode', ['$http', 'GOOGLE_MAPS_CREDENTIALS', function ($http,GOOGLE_MAPS_CREDENTIALS) {
return {
getCoords: function(addr1, zip) {
$http.get('https://maps.googleapis.com/maps/api/geocode/json?address='
+encodeURIComponent(addr1+','+zip)+'&sensor=false'
+'&key='+GOOGLE_MAPS_CREDENTIALS.API_KEY);
}
}
}])
.value('GOOGLE_MAPS_CREDENTIALS', { API_KEY: '_____________' });
Danach habe ich einen controller der diese Funktion aufrufen, die als solche:
.controller('AddrNewCtrl', ['$scope','$state','$stateParams','geocode','$rootScope','Address',
function($scope, $state, $stateParams, geocode, $rootScope, Address) {
$scope.address = {
userId: {"__type":"Pointer","className":"_User","objectId":$rootScope.user.id}
};
$scope.create = function() {
geocode.getCoords($scope.address.address1, $scope.address.zipCode)
.success(function(data) { //<-- this is where the console error is.
var lat = data.results[0].geometry.location.lat;
var lng = data.results[0].geometry.location.lng;
$scope.address.location = new Parse.GeoPoint({latitude:lat,longitude:lng});
});
Address.create($scope.address)
.success(function(data) { $state.go('tabs.address-list'); });
};
}])
Das problem ist, dass wenn ich Anruf Erfolg, ich bekomme einen TypeError:
TypeError: Cannot read property 'success' of undefined
Gibt es wenig Unterschied zwischen dem, wie ich diese umsetzen Dienst oder jeder andere Dienst, und wenn ich console.log
die Daten und Ergebnisse in meinem $http.get()
Funktion, bekomme ich alle Werte, die ich erwarte, wenn ich zum aufrufen der Funktion in der Steuerung.
Ich bin auf der Suche nach zwei Antworten:
- Warum ist die
success
callback-Rückkehr ein Fehler? - Wie kann ich einfach wieder die ein Koordinaten-Objekt aus, wenn ich rufen meinen
geocode
service?
- Es ist nicht der "Erfolg" callback selbst, das ist das Thema der Fehler. Der Fehler bedeutet, dass die
getCoords()
Aufruf nicht wieder alles. - Sie sind nicht wieder ein Versprechen auf getCoords, sollten Sie
return $http.get
- Wow, vielen Dank. Dass es behoben @Pointy , fühlen Sie sich frei zu setzen, die in eine Antwort und ich gebe dir creds für Sie.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie