Bagaimana cara menghitung jarak menggunakan api peta Google

pemrograman


Hai

Saya sedang membangun perangkat lunak untuk perusahaan Taksi dan saya ingin Menghitung jarak dari titik penjemputan ke titik pengantaran dan akan memberikan ongkosnya. bagaimana saya bisa mencapai ini menggunakan PHP

Apa yang saya coba:

saya sudah mencoba menggunakan api jarak tetapi tidak berhasil untuk saya

Solusi 1

Anggaplah Anda menggunakan Distance Matrix API (dan bukan Directions API) maka bentuk permintaannya adalah:

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

Dan kode Anda akan terlihat seperti ini:

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

Jelas Anda perlu mengganti “YOUR_API_KEY” dengan kunci API Anda dari Google yang memerlukan penyiapan akun penagihan dan Maps Javascript API diaktifkan. Kumpulan lengkap parameter opsional dijelaskan di bawah. Anda akan menerima respons dalam format JSON (atau XML jika Anda menggantinya json? dengan xml? yang perlu Anda uraikan. Contoh beberapa kode PHP untuk mengurai permintaan API Distance Matrix ditunjukkan di bawah ini. Semua informasi yang Anda butuhkan dapat ditemukan di Permintaan dan respons API Matriks Jarak | Google untuk Pengembang[^].

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";
}
?>

Permintaan API Matriks Jarak :
https://maps.googleapis.com/maps/api/distancematrix/outputFormat?parameters

Di mana outputFormat mungkin juga json atau xml.

Dan parameters termasuk :

origins

Titik awal untuk menghitung jarak dan waktu perjalanan. Anda dapat memberikan satu atau beberapa lokasi dalam bentuk alamat, koordinat lintang/bujur, atau ID tempat.
destinations

Satu atau lebih lokasi untuk menghitung jarak dan waktu perjalanan.
mode (opsional)
Menentukan moda transportasi. Pilihannya termasuk mengemudi, berjalan kaki, bersepeda, dan transit.
units (opsional)
Menentukan sistem satuan yang akan digunakan saat menyatakan jarak sebagai teks. Pilihannya mencakup metrik dan imperial.
departure_time (opsional)
Menentukan waktu keberangkatan yang diinginkan sebagai bilangan bulat dalam hitungan detik sejak tengah malam, 1 Januari 1970 UTC.
traffic_model (opsional)
Menentukan asumsi yang akan digunakan saat menghitung waktu dalam lalu lintas. Pilihannya antara lain tebakan terbaik, pesimistis, dan optimis.

Mike

コメント

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