2015-06-09 89 views
0

我沒有得到任何來自谷歌的地方文本搜索API響應沒有從谷歌的地方文本搜索API響應

這裏是我的PHP代碼:

$string=$row["PropertyTitle"].'+'.$row["LocalityName"].'+'.$row["CityName"]; 
$details_url="https://maps.googleapis.com/maps/api/place/textsearch/json?query=".$city."&key=someapikey"; 
curl_setopt($ch, CURLOPT_URL, $details_url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$geoloc = json_decode(curl_exec($ch), true); 
print_r($geoloc);

它甚至不給下面的結果

{ 
    "html_attributions" : [], 
    "results" : [], 
    "status" : "INVALID_REQUEST" 
}

我在做什麼錯誤以及如何解決這個問題?

+0

哦,太棒了,您發佈了您的API密鑰。順便說一句,你是否正確地編碼你的'$城市'? – Raptor

+1

您正在查詢參數中傳遞'$ city',但好像您尚未定義。 – WisdmLabs

+0

@WisdmLabs很好的接收! – Raptor

回答

1

你缺少$ch = curl_init();

我猜你$string應該命名爲$city。另外,在$city上使用urlencode。請參閱Why should I use urlencode?

<?php 
$city = urlencode($row["PropertyTitle"].'+'.$row["LocalityName"].'+'.$row["CityName"]); 
$details_url="https://maps.googleapis.com/maps/api/place/textsearch/json?query=".$city."&key=API_KEY"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $details_url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$geoloc = json_decode(curl_exec($ch), true); 
print_r($geoloc);