Google Maps v3距离矩阵可找到最近的位置

时间:2013-09-04 09:05:51

标签: javascript json google-maps

我正在使用javascript创建一个Windows应用商店。

我有一个JSON对象数组(目标)中的位置列表和另一个JSON对象数组(原点)。

我想点击原点标记并使用距离矩阵查找最近的目的地或排序目的地列表。

我不想使用PHP或类似的东西。

请帮助我!

谢谢

1 个答案:

答案 0 :(得分:0)

documentation非常整洁;

var origin1 = new google.maps.LatLng(55.930385, -3.118425);
var origin2 = "Greenwich, England";
var destinationA = "Stockholm, Sweden";
var destinationB = new google.maps.LatLng(50.087692, 14.421150);

var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix(
  {
    origins: [origin1, origin2],
    destinations: [destinationA, destinationB],
    travelMode: google.maps.TravelMode.DRIVING,
    unitSystem: UnitSystem,
    durationInTraffic: Boolean,
    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 = element.distance.text;
        var duration = element.duration.text;
        var from = origins[i];
        var to = destinations[j];
      }
    }
  }
}