谷歌地图地理编码功能 - 范围

时间:2012-01-30 16:25:19

标签: javascript google-maps

此声明中 结果 的范围是什么......

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 个答案:

答案 0 :(得分:1)

您可以创建全局变量 在创建函数之前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
            }
        }); 
    }
}

答案 1 :(得分:0)

  1. results的范围是最里面的功能
  2. 不是这样,但是如果你改变那样的功能:

    var outerResult;
    ...
    
    geocoder.geocode({ 'address': address.trim() }, function (results, status) {           
        outerResult = results;
        ...
    
    }); 
    
  3. 您可以通过全局results变量访问outerResult