Anda sudah siap!

Untuk mulai mengembangkan, masuklah ke dokumentasi developer kami.

Aktifkan Google Places API for Android

Untuk membantu Anda memulai, kami akan memandu Anda melalui Google Developers Console untuk melakukan beberapa hal terlebih dahulu:

  1. Buat atau pilih sebuah proyek
  2. Aktifkan Google Places API for Android
  3. Buat kunci yang sesuai
Lanjutkan

Current Place

Dengan menggunakan Google Places API for Android, Anda bisa menemukan tempat perangkat saat ini berada. Yaitu, tempat yang menjadi lokasi perangkat yang dilaporkan saat ini. Contohnya antara lain bisnis setempat, tempat menarik, dan lokasi geografis.

Izin

Jika aplikasi Anda menggunakan PlaceDetectionApi.getCurrentPlace(), Anda harus meminta izin ACCESS_FINE_LOCATION.

Model perizinan baru di Android 6.0 Marshmallow

Android 6.0 (Marshmallow) memperkenalkan model baru untuk menangani izin, yang mengefisienkan proses memasang dan meningkatkan versi aplikasi bagi pengguna. Asalkan Anda menggunakan Google Play Services versi 8.1 atau yang lebih baru, Anda bisa mengonfigurasi aplikasi untuk menargetkan Android 6.0 Marshmallow SDK dan menggunakan model izin baru.

Jika aplikasi Anda mendukung model izin baru, pengguna tidak perlu memberikan izin saat memasang atau meningkatkan versi aplikasi. Sebagai gantinya, aplikasi harus meminta izin bila membutuhkannya pada waktu proses, dan sistem akan menampilkan dialog untuk meminta izin kepada pengguna.

Untuk mengetahui selengkapnya, lihat dokumentasi Android 6.0 Marshmallow dan perubahan yang harus Anda buat pada aplikasi untuk model izin baru tersebut.

Batas penggunaan

Penggunaan metode PlaceDetectionApi.getCurrentPlace() ini tunduk pada batas kueri bertingkat. Lihat dokumentasi mengenai batas penggunaan.

Mendapatkan lokasi saat ini

Untuk menemukan bisnis setempat atau tempat lain di mana perangkat saat ini berada, panggil PlaceDetectionApi.getCurrentPlace().

Anda juga bisa menetapkan PlaceFilter untuk membatasi hasil pada satu atau beberapa ID tempat (maksimum hingga 10), atau hanya memilih tempat yang saat ini buka. Jika tidak ada filter yang ditetapkan, hasilnya tidak difilter.

API mengembalikan PlaceLikelihoodBuffer dalam PendingResult. PlaceLikelihoodBuffer berisi daftar objek PlaceLikelihood yang menyatakan kemungkinan tempat. Untuk setiap tempat, hasilnya menyertakan indikasi kemungkinan bahwa tempat tersebut adalah tempat yang tepat. Buffer mungkin kosong, jika tidak ada tempat yang diketahui sesuai dengan kriteria filter.

Anda bisa memanggil PlaceLikelihood.getPlace() untuk mengambil objek Place, dan PlaceLikelihood.getLikelihood() untuk mengambil kemungkinan peringkat tempat. Nilai yang lebih tinggi berarti semakin besar kemungkinan tempat ini memiliki kecocokan terbaik.

Contoh kode berikut mengambil daftar tempat yang kemungkinan besar merupakan lokasi perangkat, dan mencatat nama dan kemungkinan untuk setiap tempat.

PendingResult<PlaceLikelihoodBuffer> result = Places.PlaceDetectionApi
    .getCurrentPlace(mGoogleApiClient, null);
result.setResultCallback(new ResultCallback<PlaceLikelihoodBuffer>() {
  @Override
  public void onResult(PlaceLikelihoodBuffer likelyPlaces) {
    for (PlaceLikelihood placeLikelihood : likelyPlaces) {
      Log.i(TAG, String.format("Place '%s' has likelihood: %g",
          placeLikelihood.getPlace().getName(),
          placeLikelihood.getLikelihood()));
    }
    likelyPlaces.release();
  }
});

Catatan tentang nilai kemungkinan:

  • Kemungkinan ini memberikan probabilitas relatif dari tempat yang paling cocok dalam daftar tempat yang dikembalikan untuk permintaan tunggal. Anda tidak bisa membandingkan kemungkinan pada permintaan yang berbeda.
  • Nilai kemungkinan akan berada antara 0 dan 1,0.
  • Jumlah kemungkinan dalam larik yang diberikan PlaceLikelihoodBuffer selalu kurang dari atau sama dengan 1,0. Perhatikan, jumlah tersebut tidak harus 1,0.

Misalnya, untuk menyatakan 55% kemungkinan tempat yang benar adalah Tempat A, dan 35% kemungkinan Tempat B, PlaceLikelihoodBuffer memiliki dua anggota, Tempat A dengan kemungkinan 0,55 dan Tempat B dengan kemungkinan 0,35.

Menampilkan atribusi dalam aplikasi Anda

Bila aplikasi Anda menampilkan informasi yang diperoleh dari PlaceDetectionApi.getCurrentPlace(), aplikasi juga harus menampilkan atribusi. Lihat dokumentasi mengenai atribusi.

Kirim masukan tentang...

location_on
Google Places API for Android