我只想获取公里数以将其保存到新变量中。
我还尝试使用索引访问数组。
我的代码:
/**
* @Route("/routesetting", name="api_routeset_set", methods={"GET"})
*/
public function getRouteAction(Request $request) {
$distanceMatrix = new GoogleDistanceMatrix('AIzaSyBdAHFe4MsbIr417NlPioNhYW7as-adBa8');
$distance = $distanceMatrix
->addOrigin('Van Bronckhorststraat 94, 5961SM Horst, The Netherlands')
->addDestination('Maistraße 10, 80337 München, Deutschland')
->setMode(GoogleDistanceMatrix::MODE_DRIVING)
->setLanguage('en-EN')
->setUnits(GoogleDistanceMatrix::UNITS_METRIC)
->setAvoid(GoogleDistanceMatrix::AVOID_FERRIES)
->sendRequest();
return $this->json([
'message' => $distance
]);
}
结果:
{
"message": {
"status": "OK",
"responseObject": [],
"originAddresses": [
[]
],
"destinationAddresses": [
[]
],
"rows": [
{
"elements": [
{
"status": "OK",
"duration": {
"text": "6 hours 48 mins",
"value": 24461
},
"distance": {
"text": "695 km",
"value": 695380
}
}
]
}
]
}
}
预期结果:
695380
答案 0 :(得分:0)
$distance
似乎是一个PHP数组(我从未使用过此Google API)。
因此,在调用return $this->json(['message' => $distance]);
之前,您应该只从$distance
变量中获取所需的值。
似乎是$distance['rows']['elements']['distance']['value']
。
因此,返回$this->json(['message' => $distance['rows']['elements']['distance']['value']]);
似乎是您的把戏。 ;)
请注意,我尚未在此处进行任何内容验证(isset()
)。