11

在 Google 地方信息中,编辑我的业务时,我可以在“基本信息”下添加“描述”。顺便说一句,要进行此类编辑,请访问http://www.google.com/local/add/businessCenter并点击商家列表下的“编辑”。

当我查询 Places API 以获取我的业务详细信息时,我没有看到以下“描述”:

url = "https://maps.googleapis.com/maps/api/place/details/json?key=#{key}&sensor=#{sensor}&reference=#{reference}"

我查看了Place Details Results,也没有看到“描述”字段。

那么如何通过 Google API 查询获取 Place/business description 字段呢?

4

1 回答 1

-1

该问题询问“如何获取描述”,但用户继续描述他们在编辑自己的业务时遇到的问题。

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”的谷歌地方' 如果我改为搜索“伦敦附近的范莎学院”,它指定我正在寻找一个地方;结果我得到了“范肖学院 - 伦敦校区”,没有描述,信息也更少。

于 2013-09-21T05:51:43.090 回答