为什么从函数返回的对象未定义?

时间:2013-11-21 22:05:15

标签: javascript function google-maps-api-3 geocoding

我有一个基本上看起来像这样的功能(略微简化):

function drawCircle(address) {
    geocoder.geocode( { 'address': address}, function(results, status){
        if (status==google.maps.GeocoderStatus.OK){
            var circ = new google.maps.Circle({
                    center:results[0].geometry.location,
                    clickable:false,
                    fillColor:colors[count],
                    fillOpacity:.3, 
                    map:map,
                    radius:200,
                    strokeOpacity:.3,
                    zIndex:2 
                });

            ...

            return circ;
        }
        else{
            //geocode unsuccessful, alert user
            alert("Could not find location");
        }
    });
}

它会在传入函数的地址周围的Google地图上绘制一个半径圆。然后它返回圆形对象。

但是,当我尝试使用此函数的结果时,即使圆圈已成功绘制,它也始终返回undefined。

var myCircle = drawCircle("someAddress");

当我单步执行此代码(使用Firebug)时,circ变量定义,并且在return语句时包含一个Google地图圈子对象。但是,另一方面,它被分配给myCircle undefined

我做错了什么?

0 个答案:

没有答案