无法看到我添加的地点 - Google Places API

时间:2017-04-10 19:57:32

标签: google-maps google-maps-api-3 google-places-api

我已经使用Google Places API添加了一些地方,然后搜索了它们,但我没有收到回复。 Google Places API文档声明您自己添加的任何地点都可以立即供您自己的应用使用。

用于添加地点的代码:

$content = '{
"location": {
"lat": 55.9924222,
"lng": -4.5767703
},


"accuracy": 50,
  "name": "MYPLACE",
   "types": ["other"],
  "website": "http://example.com",
  "language": "en-GB"
}';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://maps.googleapis.com/maps/api/place/add/json?key=MYKEY');
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER,
        array("Content-type: application/json"));
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $content);
$json_response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ( $status != 201 ) {
    die("response $json_response");
};


curl_close($curl);

$response = json_decode($json_response);

JSON回复:

{  
   "id":"f9f16c68e531d8fc583e9d6b321f91d3f4aee41b",
   "place_id":"qgYvCi0wMDAwMDA2NTdhZjZiZTc5OjQ4ODg1MzIzOTc1OmZmOTA3OTI1MWEwOTdlYjI",
   "reference":"CkQxAAAAXR8NXJss0Mkw79jPrfLSDfDV8v9n94HmuZsN5pPdvSp5D8gLlBlVvXdTHqJlAq6larv-asoMF22gc6vonSVM8xIQtYSx9WMivS9eI6MsrQuiMhoUtlAGv0nDCEAF-5lphcVBbO4CI-U",
   "scope":"APP",
   "status":"OK"
}

然后我使用:

进行搜索
https://maps.googleapis.com/maps/api/place/radarsearch/json?location=55.9859890,-4.5723500&radius=5000&type=other&keyword=getfed&key=MYKEY

和回复:

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

有人能告诉我这里出了什么问题吗?

1 个答案:

答案 0 :(得分:1)

ZERO_RESULTS表示搜索成功但未返回任何结果。如果搜索在远程位置传递了latlng,则可能会发生这种情况。

您可以在此page中看到为什么您无法看到已添加的地点的可能原因。您正在寻找的地方可能尚未归类。所有地点都归类为通用类型establishment,直到Google有足够的数据来将其归类为supported place types之一。

您可以查看此参考:

基于此documentation的另一个可能原因。

  

当您添加地点时,新地点可立即在您的应用程序启动的“附近搜索”中使用。新地点还会进入审核队列,以便考虑使用Google地图。 新添加的地点不会出现在文本搜索或雷达搜索结果中,也不会出现在其他应用程序中,直到审核过程批准为止。