谷歌地图DistanceMatrix回调

时间:2013-03-15 09:32:37

标签: google-maps-api-3

我正在使用谷歌地图距离矩阵,我需要的是两个不同的距离,

目前我有以下内容: -

var start = arrObjLatLngs[0];
var end = arrObjLatLngs[arrObjLatLngs.length - 1];    
var base = new google.maps.LatLng(52.781048888889, -1.2110222222222546);

var service = new google.maps.DistanceMatrixService();

service.getDistanceMatrix(
  {
    origins: [base],
    destinations: [start, end],
    travelMode: google.maps.TravelMode.DRIVING,
    unitSystem: google.maps.DirectionsUnitSystem.METRIC,
    avoidHighways: false,
    avoidTolls: false
  }, callback);


function callback(response, status) {

  if (status == google.maps.DistanceMatrixStatus.OK) {

    var origins = response.originAddresses;
    var destinations = response.destinationAddresses;

    for (var i = 0; i < origins.length; i++) {

      var results = response.rows[i].elements;

      for (var j = 0; j < results.length; j++) {

        var element = results[j];
        var distance = Math.round(parseFloat(element.distance.text));
          alert(distance);
        var duration = element.duration.text;
        var from = origins[i];
        var to = destinations[j];
      }
    }
  }
}

当我alert($distance);我收到两条回复时,例如1510

我需要的是两个单独的值,即如果我alert($runinPickup);我得到15,如果我提醒alert($runinDestination);我得到10。

我以为他们是在一个数组中,所以我尝试了alert(distance[0]),但这又回来了未定义。

我是否必须执行两个单独的getDistanceMatrix请求,或者是否有办法分离这两个值?

0 个答案:

没有答案