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

google map geocode function - scope

本文关键字:范围 功能 编码 谷歌地图      更新时间:2023-09-26

此语句中结果的范围是什么。。。

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 ={};

在全球范围内,我能让它全球化吗?

您可以创建一个全局变量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. results的作用域是最内部的函数
  2. 不是这样,但如果你这样改变这个函数:

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

您可以通过全局outerResult变量访问results