如何使用谷歌地图api V3计算两个城市之间的距离

jos*_*245 11 javascript google-maps distance

如何计算行驶距离?

我找不到一个有效的例子,有人能帮助我吗?

谢谢.

编辑:更多信息:

我有两个文本输入来键入城市.在改变时我只想在另一个div中显示/更新距离.

Don*_*ghn 16

你想要的是Distance Matrix API.也就是说,如果你真的在组合谷歌地图中使用它.请注意,如果您未在网页上某处使用Google地图,则Google禁止使用此API.

以下是Distance Matrix API的基本示例:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var origin = new google.maps.LatLng(55.930385, -3.118425),
    destination = "Stockholm, Sweden",
    service = new google.maps.DistanceMatrixService();

service.getDistanceMatrix(
    {
        origins: [origin],
        destinations: [destination],
        travelMode: google.maps.TravelMode.DRIVING,
        avoidHighways: false,
        avoidTolls: false
    }, 
    callback
);

function callback(response, status) {
    var orig = document.getElementById("orig"),
        dest = document.getElementById("dest"),
        dist = document.getElementById("dist");

    if(status=="OK") {
        orig.value = response.destinationAddresses[0];
        dest.value = response.originAddresses[0];
        dist.value = response.rows[0].elements[0].distance.text;
    } else {
        alert("Error: " + status);
    }
}
</script>
</head>
<body>
    <br>
    Basic example for using the Distance Matrix.<br><br>
    Origin: <input id="orig" type="text" style="width:35em"><br><br>
    Destination: <input id="dest" type="text" style="width:35em"><br><br>
    Distance: <input id="dist" type="text" style="width:35em">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是谷歌的一个版本的例子,适合您的个人品味,我在谷歌地图Api v3 - 距离矩阵部分找到

  • 如果您进行以下更新,则此方法有效:来源:[origin],目的地:[destination], (4认同)
  • @迈克尔,善良的眼睛,谢谢你的纠正.对于任何感兴趣的人来说,这是一个[小提琴](http://jsfiddle.net/XRMxf/),当我在它的时候进行修改. (3认同)
  • 很好,很好的例子,工作正常. (2认同)