为什么最后一个地理编码器调用失败?

时间:2011-11-04 11:59:49

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

have此代码:

<script src="http://maps.google.com/maps/api/js?sensor=false&libraries=geometry" type="text/javascript"></script> 

<script type="text/javascript">
    var VettoreIndirizziStruttura = new Array();
    VettoreIndirizziStruttura.push("via ronchi 67 Foppolo Italia");
    VettoreIndirizziStruttura.push("piazza vittorio veneto 3 Carona Italia");
    VettoreIndirizziStruttura.push("via bianchi 22 Carona Italia");
    VettoreIndirizziStruttura.push("via san rocco 8 Branzi Italia");
    VettoreIndirizziStruttura.push("via cortivo 9 Foppolo Italia");
    VettoreIndirizziStruttura.push("via sponda 1 Valleve Italia");
    VettoreIndirizziStruttura.push("piazza umberto I° 23 Branzi Italia");
    VettoreIndirizziStruttura.push("via piave 2 Foppolo Italia");
    VettoreIndirizziStruttura.push("via arale San Simone Italia");
    VettoreIndirizziStruttura.push("via ronchi 53/61 Foppolo Italia");
    VettoreIndirizziStruttura.push("via tegia 5 Valleve Italia");
    VettoreIndirizziStruttura.push("via ronchi 81 Foppolo Italia"); 

    geocoder = new google.maps.Geocoder();  

    var index=0;
    elaboraCoordinate(index);
    function elaboraCoordinate(index) {
        geocoder.geocode({ address: VettoreIndirizziStruttura[index] }, function(results, status) {
            CoordinateStruttura = new google.maps.LatLng(results[0].geometry.location.lat(), results[0].geometry.location.lng());

            console.log(index + " - " + VettoreIndirizziStruttura[index] + " - " + CoordinateStruttura);
            index++;
            if(index<VettoreIndirizziStruttura.length)
                elaboraCoordinate(index);
        });                
    }
</script>

最后一个地理编码器失败了。我收到此错误:未捕获TypeError:无法读取null 的属性“0”。我错了什么?

1 个答案:

答案 0 :(得分:2)

一切都很好 - 因为没有结果你得到了这个错误。 您应该添加以下检查:

geocoder.geocode({ address: VettoreIndirizziStruttura[index] }, function(results, status) {
    if ( status == google.maps.GeocoderStatus.OK ) { ... }
});

您可以处理其他状态 - 此处为reference