Senin, 19 Agustus 2019
API MAPBOX Alternatif Rute GMAPS
<?php
function get_coordinates($city, $street, $province)
{
$address = urlencode($city.','.$street.','.$province);
$url = "http://maps.google.com/maps/api/geocode/json?address=$address&sensor=false®ion=Poland";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXYPORT, 3128);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);
curl_close($ch);
$response_a = json_decode($response);
$status = $response_a->status;
if ( $status == 'ZERO_RESULTS' )
{
return FALSE;
}
else
{
$return = array('lat' => $response_a->results[0]->geometry->location->lat, 'long' => $response_a->results[0]->geometry->location->lng);
return $return;
}
}
function GetDrivingDistance($lat1, $lat2, $long1, $long2)
{
$lat1=-6.704319;
$long1=111.342051;
$lat2=-6.690439;
$long2=111.282741;
$url = "https://maps.googleapis.com/maps/api/distancematrix/json?origins=".$lat1.",".$long1."&destinations=".$lat2.",".$long2."&mode=driving&language=pl-PL";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXYPORT, 3128);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($ch);
curl_close($ch);
$response_a = json_decode($response, true);
$dist = $response_a['rows'][0]['elements'][0]['distance']['text'];
$time = $response_a['rows'][0]['elements'][0]['duration']['text'];
return array('distance' => $dist, 'time' => $time);
}
$coordinates1 = get_coordinates('Tychy', 'Jana Pawła II', 'Śląskie');
$coordinates2 = get_coordinates('Lędziny', 'Lędzińska', 'Śląskie');
if ( !$coordinates1 || !$coordinates2 )
{
echo 'Bad address.';
}
else
{
$dist = GetDrivingDistance($coordinates1['lat'], $coordinates2['lat'], $coordinates1['long'], $coordinates2['long']);
echo 'Distance: <b>'.$dist['distance'].'</b><br>Travel time duration: <b>'.$dist['time'].'</b>';
}
?>
Reff:
https://stackoverflow.com/questions/29003118/get-driving-distance-between-two-points-using-google-maps-api
https://stackoverflow.com/questions/29003118/get-driving-distance-between-two-points-using-google-maps-api
Jika ada kendala biasanya masalah API KEYNYA Google yang kita belum punyai....solusi gunakan
API MAPBOX :
https://api.mapbox.com/directions/v5/mapbox/driving/106.832425,-6.352754;106.832661,-6.351810.json?access_token=pk.eyJ1IjoiaXdhbmdyYWhhZGlhbiIsImEiOiJjanpjZ25oYTgwMTRrM25sbnliaXAzdjhtIn0.BV5T_OcmGoMek6pVaQc64Q&steps=true&geometries=geojson
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar