Я использую angular.js с телефонной связью. Для того, чтобы получить пользователей GPS местоположение Я разработал простую услугу:Методы повторного использования в пределах одной услуги в angular.js
app.factory('geolocation', function ($rootScope, cordovaReady) {
return {
getCurrentPosition: cordovaReady(function (onSuccess, onError, options) {
navigator.geolocation.getCurrentPosition(function() {
var that = this,
args = arguments;
if (onSuccess) {
$rootScope.$apply(function() {
onSuccess.apply(that, args);
});
}
}, function() {
var that = this,
args = arguments;
if (onError) {
$rootScope.$apply(function() {
onError.apply(that, args);
});
}
}, options);
});
}
});
Я называю эту услугу, как этот
geolocation.getCurrentPosition(function (position) {
console.log(position);
});
Теперь я хочу расширить с помощью другого метода, называемого getCurrentCity. Этот метод должен использовать getCurrentPosition, чтобы определить город. Таким образом, служба будет выглядеть так:
app.factory('geolocation', function ($rootScope, cordovaReady) {
return {
getCurrentPosition: ....
getCurrentCity: ...
}
});
Возможно ли это? Как реализовать getCurrentCity с помощью getCurrentPosition?
Нет, это не специфический телефонный разговор. Я попробую ваше предложение. –
hm Я получаю «getCurrentPosition не определено» в методе getCurrentCity –
Попробуйте изменить его на 'this.getCurrentPosition()' – jdp