Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.01.2016, 17:25
Новичок на форуме
Отправить личное сообщение для lump1k Посмотреть профиль Найти все сообщения от lump1k
 
Регистрация: 03.01.2016
Сообщений: 2

Анонимные функции
function getAddress(position) {
        var address;

        var geocoder = new google.maps.Geocoder();
        var latLng = new google.maps.LatLng(position.lat, position.lng);

        geocoder.geocode({'latLng': latLng}, function (results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                address = {
                    district: results[4].address_components[0].long_name,
                    city: results[1].address_components[0].long_name,
                    street: results[0].address_components[1].long_name,
                    houseNumber: results[0].address_components[0].long_name,
                    postalCode: results[2].address_components[0].long_name
                };
            } else {
                address = 'Geocoder failed due to: ' + status;
            }
        });

        return address;
    }


Всем привет. Подскажите пожалуйстка: как сделать так, чтобы моя функция возвращала то, что произошло в середине функции, которая в свою очередь является вторым параметром функции geocoder.geocode?
На деле возвращается то, что я указываю в начале при обьявлении переменной address.
Ответить с цитированием
  #2 (permalink)  
Старый 03.01.2016, 19:13
Интересующийся
Посмотреть профиль Найти все сообщения от googlecallback
 
Регистрация: 03.01.2016
Сообщений: 18

Сообщение от lump1k
то, что произошло в середине
У Вас же в середине ф-ции просто передается кофигурация. Вам надо объект этот вернуть? Собственно вернуть на стек не получится, можно "вернуть" в коллбек, например
afterConfig = function(address){
   dealWith(address)
}
function getAddress(position, afterConfig) {
        var address;
 
        var geocoder = new google.maps.Geocoder();
        var latLng = new google.maps.LatLng(position.lat, position.lng);
 
        geocoder.geocode({'latLng': latLng}, function (results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                address = {
                    district: results[4].address_components[0].long_name,
                    city: results[1].address_components[0].long_name,
                    street: results[0].address_components[1].long_name,
                    houseNumber: results[0].address_components[0].long_name,
                    postalCode: results[2].address_components[0].long_name
                };
            } else {
                address = 'Geocoder failed due to: ' + status;
            }
             afterConfig(address)
        });
 
    }

getAddress(myPosition, afterConfig)
Ответить с цитированием
  #3 (permalink)  
Старый 03.01.2016, 19:15
Интересующийся
Посмотреть профиль Найти все сообщения от googlecallback
 
Регистрация: 03.01.2016
Сообщений: 18

И да, анонимные ф-ции тут не при чем.
Ответить с цитированием
  #4 (permalink)  
Старый 04.01.2016, 00:25
Новичок на форуме
Отправить личное сообщение для lump1k Посмотреть профиль Найти все сообщения от lump1k
 
Регистрация: 03.01.2016
Сообщений: 2

так и сделал, спасибо
Ответить с цитированием
  #5 (permalink)  
Старый 24.05.2016, 16:45
Новичок на форуме
Отправить личное сообщение для Bigmack Посмотреть профиль Найти все сообщения от Bigmack
 
Регистрация: 24.05.2016
Сообщений: 1

Ну можешь, как вариант, зайти через сайт http://advanced.name/ru и попробовать )))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение прототипа функции tsigel Общие вопросы Javascript 11 15.05.2014 01:03
Помогите плиз разобраться с неймспейсами/замыканиями sneggg Javascript под браузер 1 05.04.2014 14:21
Установить имя конструктора Андрей Параничев Общие вопросы Javascript 8 17.11.2011 10:09
arguments вызвавшей функции mister_maxim Общие вопросы Javascript 4 12.10.2010 16:21
Анонимные функции zzz Общие вопросы Javascript 1 07.08.2009 20:03