该问题询问“如何获取描述”,但用户继续描述他们在编辑自己的业务时遇到的问题。
Google 似乎没有将 Place 的描述存储在它自己的 Google Places DB 中,而是提供了相关 Freebase/Wikipedia 页面的摘录
编辑您的业务描述的答案是“您不能直接”或“创建或编辑您的 Wikipedia/Freebase 页面以间接添加/修改描述”
继续阅读有关如何使用places-api“获取”业务描述的答案。此示例使用 PHP。
许多 Wikipedia 文章未指明 lng/lat 坐标,因此您无法使用 Wikipedia APi 进行邻近度/名称搜索。
但是 FreeBase 从 Wikipedia 获取大部分信息,并且通常确实有 lat/lng 信息。
//Gather info from Google Places API
//$_GET['gID'] is the Reference for the Place you want info for.
$url = "https://maps.googleapis.com/maps/api/place/details/json?"
."reference=".$_GET['gID']
."&sensor=false"
."&key=YOUR KEY";
$results = ProcessCurl ($url);
$gPlace = json_decode($results);
//Gather info from FreeBase
$url = "https://www.googleapis.com/freebase/v1/search?"
."indent=true"
."&filter=%28all"
."+type%3Alocation"
."+name%3A%22". urlencode($gPlace->result->name) ."%22"
."%28within+radius%3A100ft"
."+lon%3A". $gPlace->result->geometry->location->lng
."+lat%3A". $gPlace->result->geometry->location->lat ."%29%29"
."&output=%28description%29";
$results = ProcessCurl ($url);
$FreeBase = json_decode($results);
//ensure we got results from FreeBase
//All we want from FreeBase is the Description
if ($FreeBase->status == "200 OK" && $FreeBase->hits > 0) {
$member = "/common/topic/description";
$Description = $FreeBase->result[0]->output->description->$member;
print_r ($Description[0]);
此示例使用 Google Place 的 NAME 和 LAT/LNG,并在 FreeBase DB 的“位置”类型中搜索距其 Lat/Lng 100 英尺范围内的该名称。
我确信代码可以做得更好,但到目前为止效果很好。
另外——值得注意的是——当你在谷歌上搜索一个“地方”时,谷歌会首先搜索 FreeBase,然后将该结果与类似的谷歌地方结果进行匹配。这就是为什么当您在 google 上搜索某个地点时,右侧的结果可能与 Google Places 结果的名称不同并且有说明,但是如果您使用“near”,您会注意到同一个地点现在没有说明。
例如——我在加拿大安大略省伦敦市,我可以搜索“Fanshawe College”,结果是“Fanshawe College”,包括描述。但是在地图小程序上,指针位于名为“Fanshawe College - London Campus”的谷歌地方' 如果我改为搜索“伦敦附近的范莎学院”,它指定我正在寻找一个地方;结果我得到了“范肖学院 - 伦敦校区”,没有描述,信息也更少。