myFn.getMyCurrentPosition (данные, функция (данные) {// Асинхронный вызов, нужно использовать данные как обратный вызов - этот раздел не работает. Как использовать текущие координаты позиции и использовать его в другую функцию как преуспевающим обратного вызоваgelocation - асинхронный обратный вызов не работает с ошибкой - Javascript
var myFn = {
this.localVar : null,
mysuccess : function (position) {
this.myLocalVar = position.coords.latitude + ','+ position.coords.longitude;
return this.myLocalVar;
},
myerror : function (error) {
return null;
},
getMyCurrentPosition : function() {
if(navigator && navigator.geolocation) {
//WORKS - mysuccess sets data asyncrhonously.
return navigator.geolocation.getCurrentPosition(this.mysuccess, this.myerror);
}
},
myInitializer : function(){
//Initialize map, marker etc. for google maps API
myFn.getMyCurrentPosition(function(){ //Async call, need to use data like a callback
//This code never runs!
if(this.myLocalVar){
//doSomethingAfterCall - using this.myLocalVar, map, etc.;
}
});
}
}
Update: ПРОБОВАЛИ эТО:
var myFn = {
mysuccess: function (position) {
myFn.myInitializer();
},
myerror: function (error) {
myFn.myInitializer();
},
myInitializer : function(){
//Initialize map, marker etc. for google maps API
},
onLoadSet : function(){
navigator.geolocation.getCurrentPosition(this.mysuccess, this.myerror);
}
}
myFn.onLoadSet();
Получить эту ошибку: Не удалось выполнить «getCurrentPosition» на «геолокации» с обратным вызовом при условии, как параметр 1 не является функцией.
'getMyCurrentPosition' не принимает никаких параметров ... так. – tymeJV
отредактировал вопрос –