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

时间:2011-09-14 18:49:20

标签: javascript google-maps distance

如何计算行驶距离?

我无法找到一个有效的例子,有人可以帮助我吗?

谢谢。

编辑: 更多信息:

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

1 个答案:

答案 0 :(得分:16)

您想要的是距离矩阵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>

这是我在Google Maps Api v3 - Distance Matrix section

中找到的适合您个人品味的google示例