google maps api 取兩點路線規劃的距離

foreach ($shopdatalist as $key => $data) {
    $googleMapApiUrl = 'https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins='.$searchdata['sd_lat'].','.$searchdata['sd_lng'].'&destinations='.$data['sd_lat'].','.$data['sd_lng'].'&key=AIzaSyDIpQt_Dg4-4ttIIsg-RNO5VkTxxbicvk8';
    //開始call api
    $curl = curl_init();

    curl_setopt($curl, CURLOPT_URL, $googleMapApiUrl);
    curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);

    $strResponse = curl_exec($curl);
    curl_close($curl);
    //轉換字串為陣列
    $strResponse = json_decode($strResponse,true);
    if(isset($strResponse['rows'][0]['elements'][0]['distance']['text'])){
        $mi = $strResponse['rows'][0]['elements'][0]['distance']['text'];
        //將裡面的空白跟mi字眼拔除,只留下數字
        $mi = str_replace(' mi','',$mi);
        $mi = round($mi * 1.609,1);
        $shopdatalist[$key]['mi'] = $mi;
    }
}

Last updated