0

后面的 MY JS 异步调用 PHP。

function gettravelDistanceTime()
{
        var latitude="10.014381";
        var longitude="76.334256";
        var toLatitude="10.014307";
        var toLongitude="76.312421";
        var curPosition=latitude+","+longitude ;
        var toPosition=toLatitude+","+toLongitude;
        //var key="AIzaSyBKLWZ3waR9GopA320z5IhQoqKKzeThns4";

/*   Working sample 

var distancedata=http://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=10.014381,76.334256&destinations=10.014307,76.312421&key=AIzaSyBKLWZ3waR9GopA320z5IhQoqKKzeThns4;

*/

var distancedata="http://aiswarya.wehubs.website/alien/new/proxyapi.php?curPosition="+curPosition+"&toPosition="+toPosition;

console.log(distancedata);


var data_val={'curPosition' : curPosition,
            'toPosition' : toPosition

       }; 
/*

var jqxhr123 = $.getJSON(distancedata, function(data123) {


    //Fetching distance and time from the API result

      //  var dis=data.rows[0].elements[0].distance.text;
       // var time=data.rows[0].elements[0].duration.text;

    //console.log(dis);
    //console.log(time);

    console.log(data123);


    })
            .error(function(err) {

                console.log("Error");
            })
            .complete(function() {
                console.log("Success");
            });



        */



                $.ajax({
                    type: "POST",   
                    url: "proxyapi.php", 
                    //dataType: 'json',

                    data: data_val,
 success: function(result) {


          console.log(result);
          console.log(typeof(result));
        //  var dis=result.rows[].elements[].distance.text;
        //var time=result.rows[].elements[].duration.text;
        //console.log(dis);
        //console.log(time);



        }  ,                         

error: function(err) {
     console.log('error'); 
      console.log('err'); 
    } 







    })



    }

我的PHP如下

<?php


$GOOGLE_KEY="AIzaSyDbNk8Jbtqt8-cNOW5XI3RC9ub2MbCLJg4";

$curPosition=$_POST['curPosition'];
$toPosition=$_POST['toPosition'];



//echo $toPosition;

$distancedata="https://maps.googleapis.com/maps/api/distancematrix/json?units=metric&origins=".$curPosition."&destinations=".$toPosition."&key=".$GOOGLE_KEY;
echo $distancedata;

$data=file_get_contents($distancedata);


$result=json_encode($data);
echo $data;

?>

这是我从谷歌距离矩阵 api 返回到我的 JS 的 JSON 响应。

{

     "destination_addresses" : [ "Mosque Road, Padivattom, Edappally, Ernakulam, Kerala 682024, India" ],
   "origin_addresses" : [
      "Manapurath Building, 11/195A, Civil Line Rd, Opposite Petrol Pump, Kunnumpuram, Padamughal, Kakkanad, Kochi, Kerala 682021, India"
   ],
   "rows" : [
      {
         "elements" : [
            {
               "distance" : {
                  "text" : "3.1 km",
                  "value" : 3133
               },
               "duration" : {
                  "text" : "8 mins",
                  "value" : 506
               },
               "status" : "OK"
            }
         ]
      }
   ],
   "status" : "OK"
}   

数据正在 JS 中进行控制台,但我无法访问如下变量。我试图访问这样的距离和时间参数。

      var dis=data.rows[0].elements[0].distance.text;
      var time=data.rows[0].elements[0].duration.text;

但它不起作用。谁能帮我?

4

0 回答 0