我正在创建一个可以对maps.googleapis.com
执行查询的函数。我使用库GuzzleHttp
帮助。
我遇到的问题是当我创建一个函数并尝试通过在URL中添加参数来访问该功能时。看起来这个函数没有已知的参数(未分配)因此我所做的功能无法正常工作。
我的控制器
public function actionGetalldata() {
$url = "https://maps.googleapis.com/maps/api/place/autocomplete/json?key=alskdsbeKASDJldkd&types=geocode&language=id&input=paci";
$client = new GuzzleHttp\Client();
$res = $client->request('GET', $url);
$data = $res->getBody();
$array = json_decode($data, true);
foreach ($array['predictions'] as $key) {
$detail = $this->getLatLong($key['place_id']);
}
}
你看...当我尝试循环我的整个数据时,我会调用getLatLong
函数但总是失败,因为该函数无法接受我提供的参数。
以下是功能
function getLatLong($placeid) {
$url = "https://maps.googleapis.com/maps/api/place/details/json?placeid=".$placeid."&key=alskdsbeKASDJldkd";
$client = new GuzzleHttp\Client();
$res = $client->request('GET', $url);
$data = $res->getBody();
$array = json_decode($data, true);
$resultx = $array['result'];
$id = $resultx['id'];
$placeid = $resultx['place_id'];
$alamat = $resultx['adr_address'];
$lat = $resultx['geometry']['location']['lat'];
$long = $resultx['geometry']['location']['lng'];
$allData = [
'id' => $id,
'place_id' => $placeid,
'address' => $alamat,
'lat' => $lat,
'long' => $long
];
return $allData;
}
看起来$placeid
变量是原因。
如果我直接放置静态placeid
值,则此函数有效。
我该如何解决?请帮忙
谢谢