利用谷歌地图API获取点与点的距离的js代码



// 首先,确保你已经在Google Cloud Platform上启用了Google Maps JavaScript API,并获得了你的API密钥
// 然后,在HTML文件中引入Google Maps JavaScript API
// <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=&callback=initMap" async defer></script>

function initMap() {
    // 初始化地图,这里仅作为示例,实际使用时你可能不需要显示地图
    var map = new google.maps.Map(document.getElementById('map'), {
        zoom: 5,
        center: {lat: -34.397, lng: 150.644}
    });

    // 定义两个点
    var origin = {lat: -34.397, lng: 150.644}; // 示例起点
    var destination = {lat: -33.8688, lng: 151.2093}; // 示例终点

    // 使用DistanceMatrixService计算距离
    var service = new google.maps.DistanceMatrixService();
    service.getDistanceMatrix({
        origins: [origin],
        destinations: [destination],
        travelMode: 'DRIVING', // 可以是'DRIVING', 'BICYCLING', 'WALKING', 或 'TRANSIT'
        unitSystem: google.maps.UnitSystem.METRIC, // 或 google.maps.UnitSystem.IMPERIAL
        avoidHighways: false,
        avoidTolls: false,
        drivingOptions: {
            departureTime: null,
            trafficModel: google.maps.TrafficModel.BEST_GUESS
        }
    }, function(response, status) {
        if (status !== 'OK') {
            console.error('Error:', status);
            return;
        }

        // 输出第一个结果的距离和持续时间
        var originList = response.originAddresses;
        var destinationList = response.destinationAddresses;
        var outputDiv = document.getElementById('output');

        for (var i = 0; i < originList.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;
                outputDiv.innerHTML += originList[i] + ' 到 ' + destinationList[j] + '<br>' +
                    '距离: ' + distance + '<br>' +
                    '时间: ' + duration + '<br><br>';
            }
        }
    });
}

// 假设你的HTML中有一个id为'output'的div来显示结果
// <div id="output"></div>

请注意,你需要将`YOUR_API_KEY`替换为你从Google Cloud Platform获取的API密钥,并确保你的网页可以访问Google Maps JavaScript API。此代码示例中还包括了地图的初始化部分,但在实际应用中,如果你只需要计算距离而不需要显示地图,可以省略地图初始化的部分。此外,确保你的HTML中有一个`div`元素用于显示计算结果,其`id`应与`document.getElementById('output')`中的`id`相匹配。