Клуб API Карт

2.0 ymaps.geocode передача пользовательских данных

Пост в архиве.
clgs
13 марта 2013, 15:59

Добый день.

Возможно что-то подобное:
        var myGeocoder = ymaps.geocode(loc,{results:1,myData:123});
        myGeocoder.then(
            function(res){
                this.properties.get('myData')
            },function(err){
            }
        );

9 комментариев

зачем?

что вы хотите сделать в итоге?

Мне надо получить доступ к экземпляру объекта из которого был вызван этот метод.

зачем?

this внутри обработчика then наверное будет указывать на window.

к какому объекту вы хотите получить доступ?

var geoMap=function(){
    ...
    var myGeocoder = ymaps.geocode(loc,{results:1,myData:this});
    myGeocoder.then(
        function(res){
            this.properties.get('myData')
        },function(err){
        }
    );
    ...
}

var q1 = new geoMap();
...
var qX = new geoMap();

2 варианта:

1. замыкание

2. bind контекста для обработчика, передаваемого в then

скорее всего то что вы хотите получить можно передать через замыкание

Точно, забыл самое простое) Спасибо.

Можно для тупых пример как использовать это самое замыкание в этом конкретном случае.

var Var=1;

myGeocoder.then(
function(res){
   console.log(Var);
},function(err){
}
);
Обновлено 29 марта, 12:34