New pricing changes went into effect on July 16, 2018. For more information, check out the Guide for Existing Users.

Get Started

To configure your app to use the Places SDK for Android follow these procedures.

  1. Configure your app
    1. 1. Set up Google Play services
    2. 2. Add your API key
    3. 3. Request an uplift in usage limits
  2. Connect to the Places API

Configure your app

The following configuration steps are required for all apps using the Places SDK for Android.

1. Set up Google Play services

To access the Places SDK for Android, your app's development project must include Google Play services. Download and install the Google Play services component via the SDK Manager and add the library to your project. For details, see the Android guide to setting up Google Play services.

2. Add your API key

If you haven't already obtained an API key and enabled the Places SDK for Android, follow the instructions in the signup guide to get one now.

Add your API key to your app manifest as shown in the following code sample, replacing YOUR_API_KEY with your own API key:

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

3. Request an uplift in usage limits

Usage of the Places SDK for Android is free. However, to ensure fair use by all apps, there are tiered query limits on some methods.

The Places SDK for Android enforces a default limit of 1,000 requests per 24 hour period. If your app exceeds the limit, the app will start failing.

There is a further checkpoint when the app reaches 150,000 requests per 24 hour period. If your app exceeds the limit, the app will start failing again.

Please see the usage limits guide for more information.

Instantiate the Places API clients

Google Play services version 11.2 includes a new way to access the Places APIs. Now, instead of connecting to Google Play services, all your app must do is instantiate the desired interfaces. It's no longer necessary to manage connections.

The following interfaces provide the primary entry points to the Places SDK for Android:

  • The GeoDataClient provides access to Google's database of local place and business information.
  • The PlaceDetectionClient provides quick access to the device's current place, and offers the opportunity to report the location of the device at a particular place.

To use the APIs, instantiate one or both interfaces in your fragment's or activity's onCreate() method, as shown in the following code sample:

import com.google.android.gms.location.places.GeoDataClient;
import com.google.android.gms.location.places.Places;
import com.google.android.gms.location.places.PlaceDetectionClient;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;

public class MainActivity extends FragmentActivity {
    protected GeoDataClient mGeoDataClient;

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

        // Construct a GeoDataClient.
        mGeoDataClient = Places.getGeoDataClient(this, null);

        // Construct a PlaceDetectionClient.
        mPlaceDetectionClient = Places.getPlaceDetectionClient(this, null);

        // TODO: Start using the Places API.
    }
}

Connect to Google Play services 11.0 or earlier

Apps using Google Play services version 11.0 or earlier must connect to the Google Play services API client. The following interfaces provide the primary entry points to the Places SDK for Android:

  • The GeoDataApi provides access to Google's database of local place and business information.
  • The PlaceDetectionApi provides quick access to the device's current place, and offers the opportunity to report the location of the device at a particular place.

To connect to the APIs, you need to create an instance of the Google Play services API client. In your fragment's or activity's onCreate() method, create an instance of Google API Client using GoogleApiClient.Builder. Use the builder to add the required APIs, as shown in the following code sample:

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.
}

As shown in the code sample, the Places class provides tokens that you can pass to GoogleApiClient.Builder to enable the GeoDataApi and PlaceDetectionApi.

For details about using the client, see the Android guide to Accessing Google APIs. In particular, see the guides to starting a connection and handling connection failures, for more information about addConnectionCallbacks() and addOnConnectionFailedListener().

傳送您對下列選項的寶貴意見...

這個網頁
location_on
Places SDK for Android