По сути, для ComputeRoutes Google требуется, чтобы объект JSON содержал несколько пар ключей с точным именем ключа.
Ниже приведен формат:
Код: Выделить всё
"intermediates": [
{
"location":{
"latLng":{
"latitude": 51.4903,
"longitude": -0.138728
},
"latLng":{
"latitude": 51.4903,
"longitude": -0.138728
}
}
}
], "travelMode": "DRIVE",
- "Промежуточный ключ" содержит массив/объект
Код: Выделить всё
object [{}] - Ключ местоположения содержит объект, а затем несколько ключей «ключ:объект» с тем же именем ключа.
Код: Выделить всё
{ key:{} key:{} }
Код: Выделить всё
$array = "intermediates" =>
array:1 [
0 => array:1 [
"location" => array:5 [
0 => array:1 [
"latLng" => array:2 [
"latitude" => 52.209291
"longitude" => 0.136872
]
]
1 => array:1 [
"latLng" => array:2 [
"latitude" => 55.603582
"longitude" => 11.973337
]
]
]
]
]
]
DD(json_encode($array,true));
Код: Выделить всё
{"intermediates":[
{"location":[
{"latLng":{"latitude":52.209291,"longitude":0.136872}},
{"latLng":{"latitude":55.603582,"longitude":11.973337}},
{"latLng":{"latitude":51.361759,"longitude":-0.89988}},
{"latLng":{"latitude":51.455168,"longitude":-2.617619}},
{"latLng":{"latitude":55.950803,"longitude":-3.202121}}
]
}
]
}
Затем для каждого ключа latLing мы создаем новый объект, хотя на самом деле это пара ключ:объект.
Вот как я построил массив:
Код: Выделить всё
public $intermediates =[];
foreach(datas as data){
$this->intermediates['location'][]['latLng'] =['latitude' =>data['latitude'], 'longitude' => data['longitude'];
}
Код: Выделить всё
'intermediates' => [$this->getIntermediates()],
Подробнее здесь: https://stackoverflow.com/questions/798 ... -with-same
Мобильная версия