以上で完了です。

開発を始めるには、デベロッパー ドキュメント をご覧下さい。

Google Places API Web Service をアクティベートする

まず初めに Google Developers Console で次の作業を行います。

  1. プロジェクトを作成または選択する
  2. Google Places API Web Service をアクティベートする
  3. 適切なキーを作成する
続ける

プレイスの追加

プレイスを追加すると、Google マップのデータベースのデータを自分のアプリケーションのデータで補うことができます。これにより、次のことが可能になります。

  • ユーザーが使用する Google のデータベースのデータをすぐにアップデートできます。
  • 新しいプレイスを、Google プレイスのデータベースへの追加のためのモデレーション キューに送信できます。
  • 同様の機能を持つ他のアプリと差別化できます。
  • 特定のユーザーや地域を対象にしたアプリケーションを作成できます。
  • 自分のアプリケーションから行われるプレイス検索の結果に影響を与えることができます。
  1. 概要
  2. プレイスを追加する
  3. プレイスを削除する
  4. ステータス コード
  5. エラー メッセージ
  6. sensor パラメータ

概要

プレイスを追加すると、追加した新しいプレイスは自分のアプリケーションで行われるプレイス周辺検索の結果にすぐに反映されます。この新しいプレイスは、Google マップへの掲載を検討するためのモデレーション キューにも登録されます。新たに追加したプレイスは、モデレーション プロセスで承認されるまで、テキスト検索とレーダー検索の結果や、その他のアプリケーションには表示されません。

自分のアプリケーションから追加したプレイスは、モデレーション プロセスの完了前であれば削除することもできます。モデレーション プロセスで承認され、Google のデータベースに追加されると、そのプレイスは削除できなくなります。モデレーション プロセスで承認されなかったプレイスも、送信元のアプリケーションでは引き続き表示されます。

プレイスを追加する

プレイスの追加リクエストは、次の例のような HTTP POST リクエストです。


JSON
POST https://maps.googleapis.com/maps/api/place/add/json?key=YOUR_API_KEY HTTP/1.1
Host: maps.googleapis.com

{
  "location": {
    "lat": -33.8669710,
    "lng": 151.1958750
  },
  "accuracy": 50,
  "name": "Google Shoes!",
  "phone_number": "(02) 9374 4000",
  "address": "48 Pirrama Road, Pyrmont, NSW 2009, Australia",
  "types": ["shoe_store"],
  "website": "http://www.google.com.au/",
  "language": "en-AU"
}
      
XML
POST https://maps.googleapis.com/maps/api/place/add/xml?key=YOUR_API_KEY HTTP/1.1
Host: maps.googleapis.com

<PlaceAddRequest>
  <location>
    <lat>-33.8669710</lat>
    <lng>151.1958750</lng>
  </location>
  <accuracy>50</accuracy>
  <name>Google Shoes!</name>
  <phone_number>(02) 9374 4000</phone_number>
  <address>48 Pirrama Road, Pyrmont, NSW 2009, Australia</address>
  <type>shoe_store</type>
  <website>http://www.google.com.au/</website>
  <language>en-AU</language>
</PlaceAddRequest>
      

URL パスは入力と出力の形式を示します。

  • json(推奨)は、入力と出力が JSON(JavaScript Object Notation)であることを示します。
  • xml は、入力と出力が XML であることを示します。

URL には、次のパラメータを含める必要があります。

  • key: アプリケーションの API キーです。このキーを使って各アプリケーションを識別し、割り当て量を管理します。アプリケーションから追加したプレイスは、そのアプリケーションですぐに利用できるようになります。詳細については、キーの取得をご覧ください。

リクエスト本文には、プレイスに関する情報を含めます。指定した output パラメータの形式(JSON または XML)に準拠させる必要があります。

  • accuracy: このリクエストで使用する位置信号の精度をメートル単位で示します。
  • addressモデレーション プロセスで承認されやすくするために推奨): 追加したいプレイスの住所を示します。プレイスに人間が読み取れる整形式の住所が含まれていると、モデレーション プロセスで承認され Google マップのデータベースに追加される可能性が高まります。
  • language: プレイスの名前を報告するときの言語を示します。サポートされる言語とそのコードのリストをご覧ください。サポートされる言語は頻繁に更新されるため、このリストがすべてのサポート言語を網羅しているとは限りません。
  • location必須): 緯度と経度の値で指定された、追加したいプレイスの地理的位置を示します。
  • name必須): プレイスの完全な名前(テキスト表記)を示します。255 文字以内で指定します。
  • phone_numberモデレーション プロセスで承認されやすくするために推奨): プレイスに関連付けられた電話番号を示します。プレイスに整形式の電話番号が含まれていると、モデレーション プロセスで承認され Google マップのデータベースに追加される可能性が高まります。電話番号は、ローカル形式または国際形式いずれかである必要があります。
    • ローカル形式は国ごとに異なります。Wikipedia の記事をご覧ください。たとえば、Google のオーストラリア、シドニー オフィスの電話番号のローカル形式は (02) 9374 4000 です。
    • 国際形式では、「+」記号と国コードが先頭に付きます。たとえば、Google のオーストラリア、シドニー オフィスの電話番号の国際形式は +61 2 9374 4000 です。
  • types必須): プレイスが属するカテゴリを示します。types は配列形式を取りますが、現時点で指定できるタイプはプレイスごとに 1 つのみです。XML リクエストには 1 つの <type> 要素が必要です。詳しくは、サポートされるタイプのリストをご覧ください。プレイスがサポートされているタイプのいずれにも該当しない場合は、other を指定できます。
  • websiteモデレーション プロセスで承認されやすくするために推奨): 企業のホームページなど、プレイスの公式ウェブサイトを示す URL です。プレイスに整形式のウェブサイト アドレスが含まれていると、モデレーション プロセスで承認され Google マップのデータベースに追加される可能性が高まります。

プレイスの追加レスポンス

プレイスの追加レスポンスは、リクエストの URL パスの output パラメータで指定された形式で返されます。

API がステータス コードを返し、リクエストが成功した場合、レスポンスには新しいプレイスの次のプロパティが含まれます。

  • place_id:プレイスを一意に識別するテキスト表記の ID です。プレイスの情報を取得するには、この ID をプレイス詳細リクエストの placeid フィールドに渡します。プレイス ID の詳細については、プレイス ID の概要をご覧ください。
  • scope:place_id のスコープを示します。このフィールドで有効な値は次のとおりです。
    • APP:プレイス ID が自分のアプリケーションでのみ認識されます。注: プレイスの追加レスポンスでは常に APP が scope となりますが、これはまだモデレーション プロセスを通過していないことが理由です。
    • GOOGLE:プレイス ID を他のアプリケーションや Google マップでも利用できます。上記のように、プレイスの追加レスポンスでは scope を Google 全体のスコープにできません。
  • reference:このプレイスに関する追加情報の取得に使用できる一意のトークンを示します。注: place_id の導入により、reference は廃止されました。このページの廃止予定のお知らせをご覧ください。
  • id:このプレイスを示す一意で不変の ID を示します。この ID を使用してこのプレイスに関する情報を取得することはできませんが、セッションが変わってもこの ID は常に同じです。この ID はこのプレイスに関するデータを統合したり、個々の検索でプレイスを特定するのに使用できます。注: place_id の導入により、id は廃止されました。このページの廃止予定のお知らせをご覧ください。
{
  "status": "OK",
  "place_id": "CdIJN2t_tDeuEmsRUsoyG83frY4",
  "scope": "APP",
  "reference": "CiQgAAAAeTQS1RtzAyVRVjHcRiIWmWeqcAl3k7bluW7GINLDULESEHozTQhy6OHJw03ziDvY1uEaFAP_vDRhK-UbWw3Gd7Ulqm3eRjIs",
  "id": "6947fc4007436a71dbda51ef9a58627c8e8858f9"
}

プレイスを削除する

次の場合のみプレイスを削除できます。

  • 削除をリクエストしているアプリケーションが、プレイスを追加した場合。
  • プレイスの追加リクエストが Google マップのモデレーション プロセスで承認されなかったため、プレイスが追加元のアプリケーションでのみ表示可能な場合。

これらの条件を満たさないプレイスを削除しようとすると、API がステータス コード REQUEST_DENIED を返します。

プレイスの削除リクエストは、次の形式の HTTP POST リクエストです。


JSON
POST https://maps.googleapis.com/maps/api/place/delete/json?key=YOUR_API_KEY HTTP/1.1
Host: maps.googleapis.com

{
  "place_id": "place ID"
}
      
XML
POST https://maps.googleapis.com/maps/api/place/delete/xml?key=YOUR_API_KEY HTTP/1.1
Host: maps.googleapis.com

<PlaceDeleteRequest>
  <place_id>place ID</place_id>
</PlaceDeleteRequest>
      

URL パスは入力と出力の形式を示します。

  • json(推奨)は、入力と出力が JSON(JavaScript Object Notation)であることを示します。
  • xml は、入力と出力が XML であることを示します。

URL には、次のパラメータを含める必要があります。

  • key: アプリケーションの API キーです。このキーを使って各アプリケーションを識別し、割り当て量を管理します。アプリケーションから追加したプレイスは、そのアプリケーションですぐに利用できるようになります。詳細については、キーの取得をご覧ください。

リクエスト本文は、指定した output パラメータの形式(JSON または XML)に準拠させる必要があります。次の 2 つのうち 1 つのフィールドを含める必要があります。

  • place_id:削除対象のプレイスを識別する文字列を示します。プレイス検索から返されます。プレイス ID の詳細については、プレイス ID の概要をご覧ください。
  • reference を指定してプレイスを識別することもできます。なお、place_id の導入により、reference は廃止されました。このページの廃止予定のお知らせをご覧ください。

プレイスの削除レスポンス

プレイスの削除レスポンスは、リクエストの URL パスの output パラメータで指定された形式で返されます。

削除リクエストが成功すると、次のステータス コードが返されます。

{
  "status": "OK"
}

ステータス コード

追加や削除のリクエストのステータス コードは次のとおりです。

  • OK: エラーが発生せず、プレイスが正常に追加または削除されたことを示します。
  • UNKNOWN_ERROR: サーバー側でエラーが発生したことを示します。もう一度実行すると正常に処理される場合があります。
  • OVER_QUERY_LIMIT: リクエスト数が割り当て量を超えていることを示します。
  • REQUEST_DENIED: リクエストが拒否されたことを示します。他のアプリケーションから追加されたプレイスを削除しようとした場合や、Google マップのモデレーション プロセスで承認済みのプレイスを削除しようとした場合が考えられます。
  • INVALID_REQUEST: 通常は、リクエストの一部のパラメータが指定されていないことを示します。追加するプレイスの name パラメータの値が 255 文字を超えている場合もこのコードが返されます。
  • NOT_FOUND: プレイスの削除リクエストの場合に返されます。渡された reference がどのプレイスにも紐付かないことを示します。

エラー メッセージ

Google Places API Web Service で OK 以外のステータス コードが返された場合、レスポンス オブジェクト内に error_message フィールドが付加されている場合があります。このフィールドには、返されたステータス コードの原因に関する詳細情報が含まれています。

sensor パラメータ

Google Places API Web Service では、以前はユーザーの位置情報の検出にアプリケーションでセンサーを使用するかどうかを示すため sensor パラメータを含める必要がありましたが、このパラメータは必要なくなりました。

フィードバックを送信...