2013-05-13 1 views
5

Dans Google Adresses, lors de la modification de mon entreprise, je peux ajouter une "description" sous "Informations de base". Soit dit en passant, pour faire une telle édition, allez à http://www.google.com/local/add/businessCenter et cliquez sur "Modifier" sous la liste des entreprises.Comment obtenir la description de l'entreprise via l'API Google Adresses?

Quand j'Interroger l'API Places pour les détails de mon entreprise, je ne vois pas cette « description »:

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

Je regardais Place Details Results, et aussi ne vois pas un champ « description » il . Comment puis-je obtenir le champ Description de l'établissement/de l'établissement via une requête de l'API Google?

+0

Quelqu'un a-t-il jamais compris celui-ci? – rebelliard

+0

Je n'ai pas. Si vous le comprenez, écrivez une réponse. – user664833

Répondre

-1

La question demande «comment obtenir la description» mais l'utilisateur continue de décrire son problème en éditant sa propre entreprise.

Il semble que Google ne stocke pas les descriptions de place dans sa propre Google Places DB, mais donne lieu des extraits des pages pertinentes Freebase/Wikipedia

La réponse à la modification de votre description de l'entreprise est « vous ne pouvez pas directement » ou " créer ou modifier votre page Wikipedia/Freebase pour ajouter/modifier indirectement la description "

Continuer à lire pour la réponse sur la façon" d'obtenir "la description de l'entreprise en utilisant lieux-api. Cet exemple utilise PHP.

De nombreux articles de Wikipedia n'indiquent pas les coordonnées lng/lat de sorte que vous ne pouvez pas faire une recherche de proximité/nom avec l'APi de Wikipedia.

Cependant FreeBase obtient la plupart de ses informations de Wikipedia et a normalement des informations 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]); 

Cet exemple utilise le nom, et LAT/LNG de Google place et les recherches les types «Emplacements de la DB FreeBase pour ce nom dans les 100ft de celui-ci est Lat/Lng.

Je suis sûr que le code peut être amélioré, mais cela fonctionne assez bien jusqu'à présent.

AUSSI - quelque chose de remarquable - Lorsque vous effectuez une recherche google pour un «lieu», il apparaît que Google effectue une recherche sur FreeBase FIRST, puis correspond à ce résultat avec un résultat Google Places similaire. C'est pourquoi, lorsque vous effectuez une recherche sur google pour un lieu, le résultat sur la droite peut être nommé différemment du résultat de Google Adresses et avoir une description. Toutefois, si vous utilisez 'near', vous remarquerez que le même lieu n'a pas de description . Par exemple - Je suis à London, Ontario Canada et je peux rechercher 'Fanshawe College' et le résultat est 'Fanshawe College', y compris la description .. Cependant, sur l'applet Map, le pointeur se trouve à un Google Place appelé 'Fanshawe'. College - London Campus 'Si je recherche à la place' fanshawe college près de Londres 'qui précise que je suis à la recherche d'un lieu; Le résultat, je l'obtiens 'Fanshawe College - London Campus' sans description et moins d'informations.

Questions connexes