Here is factory example:
feederliteModule.factory('maps', ['$q', function ($q) {
var geocoder = new google.maps.Geocoder();
return {
geocode: function (address) {
var deferred = $q.defer();
geocoder.geocode({
'address': address
}, function (results, status) {
deferred.resolve(results);
// Should also reject if AJAX errors.
});
return deferred.promise;
}
};
}]);
where address
is input.
The output should be json view where you can find zip code:
...
{
"long_name": "168751",
"short_name": "168751",
"types": [
"postal_code"
]
}
...
Now you can call it from controller like:
maps.geocode(address)