Làm cách nào để tính khoảng cách bằng API Google Map

lập trình


CHÀO

Tôi đang xây dựng một phần mềm cho công ty Taxi và tôi muốn Tính khoảng cách từ điểm đón đến điểm trả khách và sẽ cung cấp giá vé. làm cách nào tôi có thể đạt được điều này bằng cách sử dụng PHP

Những gì tôi đã thử:

tôi đã thử sử dụng distance api nhưng nó không hiệu quả với tôi

Giải pháp 1

Giả sử rằng bạn đang sử dụng API ma trận khoảng cách (chứ không phải API chỉ đường) thì hình thức yêu cầu sẽ là:

https://maps.googleapis.com/maps/api/distancematrix/outputFormat?parameters

Và mã của bạn sẽ trông giống như thế này:

https://maps.googleapis.com/maps/api/distancematrix/json?destinations=New%20York%20City%2C%20NY&origins=Washington%2C%20DC%7CBoston&units=imperial&key=YOUR_API_KEY

Rõ ràng là bạn cần thay thế “YOUR_API_KEY” bằng khóa API từ Google mà bạn cần thiết lập tài khoản thanh toán và Maps Javascript API đã bật. Tập hợp đầy đủ các tham số tùy chọn được mô tả dưới đây. Bạn sẽ nhận được phản hồi ở định dạng JSON (hoặc XML nếu bạn thay thế json? với xml? mà bạn cần phân tích. Một ví dụ về một số mã PHP để phân tích yêu cầu API Ma trận khoảng cách được hiển thị bên dưới. Tất cả thông tin bạn cần có thể được tìm thấy tại Yêu cầu và phản hồi API ma trận khoảng cách | Google dành cho nhà phát triển[^].

PHP
<?php
// We need to get the JSON response into a string variable $jsonResponse
// First assign the URL of the Distance Matrix API request to a string
$url = 'href="https://maps.googleapis.com/maps/api/distancematrix/outputFormat?parameters';

// Use file_get_contents() to send a GET request to the URL
$jsonResponse = file_get_contents($url);

// Decode the JSON response
$data = json_decode($jsonResponse, true);

// Check if the status is OK
if ($data['status'] == 'OK') {
    // Loop through each row (origin-destination pair)
    foreach ($data['rows'] as $row) {
        // Loop through each element (information about the origin-destination pair)
        foreach ($row['elements'] as $element) {
            // Check if the status is OK
            if ($element['status'] == 'OK') {
                // Get the distance and duration
                $distance = $element['distance']['text'];
                $duration = $element['duration']['text'];

                // Print the distance and duration
                echo "Distance: $distance\n";
                echo "Duration: $duration\n";
            } else {
                echo "Error: " . $element['status'] . "\n";
            }
        }
    }
} else {
    echo "Error: " . $data['status'] . "\n";
}
?>

Yêu cầu API ma trận khoảng cách:
https://maps.googleapis.com/maps/api/distancematrix/outputFormat?parameters

Ở đâu outputFormat Có thể là json hoặc xml.

parameters bao gồm :

origins

Điểm khởi đầu để tính khoảng cách và thời gian di chuyển. Bạn có thể cung cấp một hoặc nhiều vị trí dưới dạng địa chỉ, tọa độ vĩ độ/kinh độ hoặc ID địa điểm.
destinations

Một hoặc nhiều địa điểm để tính khoảng cách và thời gian di chuyển.
mode (không bắt buộc)
Chỉ định phương thức vận chuyển. Các lựa chọn bao gồm lái xe, đi bộ, đi xe đạp và chuyển tuyến.
units (không bắt buộc)
Chỉ định hệ thống đơn vị sẽ sử dụng khi biểu thị khoảng cách dưới dạng văn bản. Các tùy chọn bao gồm số liệu và hệ đo lường Anh.
departure_time (không bắt buộc)
Chỉ định thời gian khởi hành mong muốn dưới dạng số nguyên tính bằng giây kể từ nửa đêm, ngày 1 tháng 1 năm 1970 UTC.
traffic_model (không bắt buộc)
Chỉ định các giả định sẽ sử dụng khi tính toán thời gian tham gia giao thông. Các tùy chọn bao gồm best_guess, bi quan và lạc quan.

Mike

コメント

タイトルとURLをコピーしました