Как передать значение переменной из вложенной функции
Приветствую форумчан!
Знания javascript довольно поверхностные, поэтому не пинайте сильно:) Есть такая функция: <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script> <script type="text/javascript"> var latlng; //тут объявляю глобальную переменную function codeAddress(address) { geocoder = new google.maps.Geocoder(); geocoder.geocode( { 'address': address}, function (results) { myylocation = results[0].geometry.location; lat = myylocation.lat(); lng = myylocation.lng(); window.latlng = lat +','+ lng; alert(latlng);//в этом месте значение переменной считается и существует }); return latlng; //а сюда не попадает, undefined } alert(codeAddress('moskva')); //undefined </script> результат выполнения: undefined Подскажите как вытащить значение переменной lanlng из вложенной функции? что не так делаю? |
еще момент. Когда проверяю работу функции здесь wisdomweb.ru/editor/wweditor.php?fname=js_func2 то первый вызов undefined, а второй и последующие выводит значение, вообще запутался
|
еще один :)
Как думаешь, зачем в 7-й строке объявляется функция? |
Цитата:
|
Majax,
я тоже не очень шарю, но думаю, что код где return latlng на 14 строке выполняется быстрее чем обработается запрос в гугл мапс внутри функции geocode, поэтому сначала выводит undefined, а потом выбивает результат alert(latlng);//в этом месте значение переменной считается и существует |
mbav, ага, вот нашел по проблеме stackoverflow.com/questions/4314270/understanding-geocoding-in-javascript
думаю сейчас как применить к своему случаю. |
Majax,
Можете попробовать как то запихнуть функцию в setInterval(func, время в мс) а потом как узнаете что ответ от сервера пришел отключить повторение функции через clearInterval(); interval = setInterval(function () { // всякая фигня if(latlng) { // если latlng имеет какое то значение clearInterval(interval); } }, 1000); Может как-то так |
|
nerv_, спасибо конечно. Но видно мой уровень колеблется около ноля. Пока ничего не получается...
|
такая же тема и их сотни если не тысячи на этом сайте.
http://javascript.ru/forum/misc/4920...-sobytijj.html http://javascript.ru/forum/jquery/50...tml#post332675 |
Часовой пояс GMT +3, время: 06:49. |