Клуб 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){
            }
        );

8 комментариев
Подписаться на комментарии к посту

зачем?

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

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

зачем?

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

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

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

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