Ne pouvez pas obtenir de google maps computeDistanceBetween() pour retourner une valeur

La computeDistanceBetween() sur google maps géométrie de la bibliothèque ne retourne pas de valeur pour moi. À l'aide de la alert fonction il est dit que la distance est "[object, Object]". Quelqu'un peut-il voir où je vais mal? ici sont les parties importantes du code en question:

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

    var myArray1= [['location1', lat1, lng1], ['location2', lat2, lng2], ...];
    var myArray2= [['locationA', latA, lngA], ['locationB', latB, lngB], ...];
    var arrays = [myArray1, myArray2];

    function codeStart() {
      var orig;
      var startAddress = document.getElementById("start").value;
      geocoder.geocode( { 'address': startAddress}, function(results, status) {
            if (status == google.maps.GeocoderStatus.OK) {
                var i = 0;
                var input = results[0].geometry.location;
                while (i < arrays.length) {             
                    orig = closest(input, arrays[i]);
                }
            }
      });
    }

    function closest(latlng, array){
      var distance;
      var c = 0;
      while (c < array.length){
          var location = array[c];
          var locationlatlng = new google.maps.LatLng(location[1],location[2]);
          distance = new google.maps.geometry.spherical.computeDistanceBetween(latlng, locationlatlng);
          alert(distance);  //popup box says "[object, Object]"
          c++;
      }
    }

</script>

OriginalL'auteur slapee | 2011-07-25