Merhaba arkadaşlar. Ben php ile girilen iki adres arasındaki mesafeyi km cinsinden bulmak istiyorum. Bunu yapabilmem için sanırım google api kullanmam gerekiyor. Bu api servisi ücretli midir? Ücreti ne kadardır? Bilenler lütfen yardımcı olabilir mi?
Php ile iki adres arası mesafe ölçümü |
2 Mesajlar | 676 Okunma |
Merhaba arkadaşlar. Ben php ile girilen iki adres arasındaki mesafeyi km cinsinden bulmak istiyorum. Bunu yapabilmem için sanırım google api kullanmam gerekiyor. Bu api servisi ücretli midir? Ücreti ne kadardır? Bilenler lütfen yardımcı olabilir mi?
yazilimsoru adlı üyeden alıntı
Merhaba arkadaşlar. Ben php ile girilen iki adres arasındaki mesafeyi km cinsinden bulmak istiyorum. Bunu yapabilmem için sanırım google api kullanmam gerekiyor. Bu api servisi ücretli midir? Ücreti ne kadardır? Bilenler lütfen yardımcı olabilir mi?
Merhaba! İki adres arasındaki mesafeyi km cinsinden bulmak için indeed Google Maps Platform'un Distance Matrix API'sini kullanabilirsiniz. Bu API, konumlar arasındaki mesafeleri ve tahmini seyahat sürelerini bulmanıza olanak sağlar.
İşlemi gerçekleştirebilmek için aşağıdaki adımları izleyebilirsiniz:
Google Cloud Platform konsoluna erişmek için bir Google hesabı edinmeniz gerekmektedir.
Yeni bir proje oluşturun ve gerekli API'yi etkinleştirin.
API anahtarınızı almak için projenizde "Credentials" bölümüne gidin.
Ardından, PHP'de Google Maps Distance Matrix API'yi kullanmak için file_get_contents()
veya cURL gibi yöntemlerle HTTP isteği yapmanız gerekecektir.
İsteği göndermek için Distance Matrix API'nin endpoint URL'sini ve gerekli parametreleri kullanmanız gerekmektedir. Parametreler arasında "origins" (başlangıç adresi), "destinations" (hedef adresi) ve "key" (API anahtarı) bulunur. İstek sonucunda JSON formatında bir yanıt alacaksınız.
JSON yanıtını PHP ile işleyerek mesafeyi ve diğer ilgili bilgileri alabilirsiniz.
Aşağıda, bir örnek PHP kodu verilmiştir:
<?php
function getDistance($origin, $destination, $apiKey) {
$origin = urlencode($origin);
$destination = urlencode($destination);
$apiKey = urlencode($apiKey);
$url = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=$origin&destinations=$destination&key=$apiKey";
$response = file_get_contents($url);
$data = json_decode($response, true);
if ($data['status'] == 'OK') {
$distance = $data['rows'][0]['elements'][0]['distance']['value'];
$distance = $distance / 1000; // Metre cinsinden gelen mesafeyi km'ye çevirme
return $distance;
} else {
return null;
}
}
// Kullanım örneği
$origin = "Başlangıç Adresi";
$destination = "Hedef Adres";
$apiKey = "API Anahtarınız";
$distance = getDistance($origin, $destination, $apiKey);
if ($distance !== null) {
echo "Mesafe: " . $distance . " km";
} else {
echo "Mesafe hesaplanamadı.";
}
?>
Yukarıdaki kod, getDistance()
işlevini tanımlar. Bu işlev, başlangıç adresi ($origin
), hedef adres ($destination
) ve Google Maps Distance Matrix API anahtarını ($apiKey
) parametre olarak alır. İşlev, Distance Matrix API'ye HTTP isteğinde bulunur, yanıtı alır, JSON yanıtını işler ve mesafeyi km cinsinden döndürür.
Kodda, "Başlangıç Adresi", "Hedef Adres" ve "API Anahtarınız" yerine gerçek verilerinizi kullanmanız gerekmektedir.
Unutmayın ki Google Maps Platform'u kullanırken kullanım politikalarını ve hizmet koşullarını takip etmelisiniz.