【问题标题】:Google Maps v3 Distance Matrix to find closest location谷歌地图 v3 距离矩阵找到最近的位置
【发布时间】:2013-09-04 17:21:13
【问题描述】:

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

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

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

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

请帮帮我!

谢谢

【问题讨论】:

    标签: javascript json google-maps


    【解决方案1】:

    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];
          }
        }
      }
    }
    

    【讨论】:

    • 这确实有道理 - 我一直在使用它,但我如何根据最小距离对结果进行排序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-12
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多