google 地方文本搜索 api 没有响应

Posted

技术标签:

【中文标题】google 地方文本搜索 api 没有响应【英文标题】:No responses from google places text search api 【发布时间】:2015-08-23 21:06:29 【问题描述】:

我没有收到来自 google 地方文本搜索 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"

我做错了什么,我该如何解决?

【问题讨论】:

哦,太好了,您发布了您的 API 密钥。顺便说一句,您是否正确编码了您的$city 您在查询参数中传递了“$city”,但您似乎还没有定义。 @WisdmLabs 不错! 为了安全起见,您也可以考虑通过urlencode() 运行您的字符串。否则可能会导致 URL 损坏。 【参考方案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);

【讨论】:

以上是关于google 地方文本搜索 api 没有响应的主要内容,如果未能解决你的问题,请参考以下文章

Google 搜索地点 api,未找到地点

Dio 没有响应关闭的 API

Google Vision API 文本检测奇怪行为 - Javascript

使用Javascript和Places会话令牌的Google地方自动填充示例

如何使用 Google Places Javascript API 搜索附近(自动从浏览器获取坐标)?

如何使用Facebook API从Latitude / Longitude获取城市的地方ID