以上で完了です。

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

Google Places API for Android をアクティベートする

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

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

スタートガイド

このガイドでは、Google Places API for Android の機能と、アプリで API を使用するよう構成する方法について説明します。

  1. 概要とコンセプト
  2. API の概要
  3. サポートされる Android プラットフォームのバージョン
  4. アプリを構成する
    1. Google Play サービスをセットアップする
    2. API キーを追加する
    3. 使用制限の引き上げをリクエストする
  5. Places API に接続する

概要とコンセプト

Google Places API for Android の主なエントリ ポイントには、PlacePicker UI ウィジェット、 Autocomplete UI ウィジェット、GeoDataApiPlaceDetectionApi があります。

Google Places API for Android を使用して、端末付近のローカル ビジネスや他のプレイスを基にコンテクスチュアルに応答する、位置認識アプリをビルドできます。つまり、Android の位置サービスで提供される直接的な地理ベースのサービスを補うような、ユーザーにとって意味のあるプレイスに基づいた情報豊富なアプリをビルドできます。

プレイスとは、名前を持つ物理的な空間のことです。あるいは、地図上で見つけることのできる場所すべて、と言い換えることもできます。たとえば、企業や商店、スポット、地理的位置などが含まれます。API では、プレイスは Place インターフェースで表されます。これには、プレイスの名前、住所、地理的位置、プレイス ID、電話番号、プレイスタイプ、ウェブサイトの URL といった情報が含まれます。

API の概要

ユーザーの現在地と、その周辺の情報を提供できます。

  • 組み込みの Place Picker UI ウィジェットを使用すると、ユーザーがインタラクティブ マップ上でプレイスを選択できるようになります。
  • 端末が最後に確認された位置(プレイス)である現在の場所を取得できます。API から、可能性のあるプレイスの一覧と、各プレイスの相対的な信頼度が返されます。
  • オートコンプリート機能によって、検索ボックスへのユーザーの入力に応じて、それに一致するプレイスの名前と住所を表示して、ユーザーの入力を支援します。Autocomplete UI ウィジェットを使用するか、プレイスの予測用の API を呼び出します。
  • プレイスに関する情報を取得して表示できます。
  • 高画質のプレイスの写真にアクセスできます。

最新の地域情報を活用してアプリを差別化できます。

  • Google Place のデータベースにプレイスを追加すると、アプリ内の検索に瞬時に反映され、モデレーション後には他のアプリにも表示されるようになります。
  • プレイスをレポートすることで、端末が現在特定の場所にあることを示します。
  • 1 つ以上のプレイスに一意のプレイス ID を保存することで、ID を使用してプレイス情報をオンデマンドで取得できます。

API のその他のハイライト:

  • 低電力の WiFi スキャンでの正確なプレイス検出。
  • オンデバイスのキャッシュ:Google Places API for Android へのほとんどのリクエストでは Google サーバーとの送受信が発生しますが、データを 30 日間ローカルにキャッシュすることもできます。

サポートされる Android プラットフォームのバージョン

Google Places API for Android は、Google Play サービスでサポートされるすべての Android バージョンで利用できます。詳細については、異なるプラットフォーム バージョンのサポートに関する Android ガイドをご覧ください。

アプリを構成する

Google Places API for Android を使用するすべてのアプリでは、次の構成ステップが必要です。

Google Play サービスをセットアップする

Google Places API for Android にアクセスするには、アプリの開発プロジェクトに Google Play サービスが含まれている必要があります。Google Play サービスのコンポーネントを SDK マネージャー経由でダウンロード、インストールして、ライブラリをプロジェクトに追加します。詳細については、Google Play サービスをセットアップする方法に関する Android ガイドをご覧ください。

API キーを追加する

まだ API キーを入手しておらず、Google Places API for Android を有効にしていない場合は、サインアップ ガイドの指示に従って入手してください。

次のコードサンプルの YOUR_API_KEY を自身の API キーで置き換えて、API キーをアプリのマニフェストに追加します。

<application>
  ...
  <meta-data
      android:name="com.google.android.geo.API_KEY"
      android:value="YOUR_API_KEY"/>
</application>

使用制限の引き上げをリクエストする

すべてのアプリにおいて、Google Places API for Android は無料で無制限に使用できます。しかし、すべてのアプリによる公平な使用を実現するため、一部のメソッドには段階的なクエリ制限が設けられています。

Google Places API for Android はデフォルトで、24 時間あたりのリクエスト数を 1,000 件までと定めています。この制限を超えると、アプリでエラーが生じるようになります。

アプリが 24 時間あたりに 150,000 件以上のリクエストを必要とする場合は、さらなる審査プロセスがあります。この制限を超えると、再びアプリでエラーが生じるようになります。

デフォルトのリクエスト数を超えることが予測される場合は、早めに引き上げの手続きを取ってください。詳細については、使用制限をご覧ください。

Places API に接続する

次のインターフェースは、Google Places API for Android の主なエントリ ポイントを提供しています。

  • GeoDataApi では、Google データベースのローカル プレイスやビジネス情報にアクセスできます。
  • PlaceDetectionApi では、端末の現在の場所にすばやくアクセスでき、特定の場所にある端末の位置を報告できます。

API に接続するには、Google Play サービスの API クライアントのインスタンスを作成する必要があります。フラグメントやアクティビティの onCreate() メソッドで、GoogleApiClient.Builder を使用して Google API クライアントのインスタンスを作成します。次のコードサンプルのように、ビルダーを使用して必要な API を追加します。

import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.common.api.GoogleApiClient.OnConnectionFailedListener;
import android.support.v4.app.FragmentActivity;

public class MyActivity extends FragmentActivity 
        implements OnConnectionFailedListener {
    private GoogleApiClient mGoogleApiClient;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mGoogleApiClient = new GoogleApiClient
                .Builder(this)
                .addApi(Places.GEO_DATA_API)
                .addApi(Places.PLACE_DETECTION_API)
                .enableAutoManage(this, this)
                .build();
    }

    // TODO: Please implement GoogleApiClient.OnConnectionFailedListener to
    // handle connection failures.
}

コードサンプルに示すように、Places クラスは、GoogleApiClient.Builder に渡して GeoDataApiPlaceDetectionApi を有効にするためのトークンを提供します。

クライアントの使用の詳細については、Google API へのアクセスに関する Android ガイドをご覧ください。特に、addConnectionCallbacks()addOnConnectionFailedListener() の詳細については、接続の開始接続エラーの処理のガイドをご覧ください。

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