функция геокода карты Google - область действия - PullRequest
0 голосов
/ 30 января 2012

Каков охват результатов в этом утверждении ...

function srPerformGeocode(address)
{       
    counter=1; 
    if (geocoder){                      
        glDelay = true;
        geocoder.geocode({ 'address': address.trim() }, function (results, status) {            

            if (status == google.maps.GeocoderStatus.OK){                   
                // do someting 
            }
            else{
                // do someting else
            }
        }); 
    }
}

Если я добавлю

var results ={};

в глобальном масштабе, могу ли я сделать его глобальным?

Ответы [ 2 ]

1 голос
/ 30 января 2012

Вы можете создать глобальную переменную var globalResults; перед созданием функции и присвоением ей результатов. используйте globalResults в любом месте программы.

var globalResults;
function srPerformGeocode(address)
{       
    counter=1; 
    if (geocoder){                      
        glDelay = true;
        geocoder.geocode({ 'address': address.trim() }, function (results, status) {            

            if (status == google.maps.GeocoderStatus.OK){                   
                // do someting
                 globalResults = results;
            }
            else{
                // do someting else
            }
        }); 
    }
}
0 голосов
/ 30 января 2012
  1. Объем results является самой внутренней функцией
  2. не таким образом, но если вы измените эту функцию следующим образом:

    var outerResult;
    ...
    
    geocoder.geocode({ 'address': address.trim() }, function (results, status) {           
        outerResult = results;
        ...
    
    }); 
    

Вы можете получить доступ к results через глобальную переменную outerResult.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...