Places SDK for Android (Legacy) mendukung Current Place (Legacy). Jika Anda sudah familiar dengan Current Place (Lama), Nearby Search (Baru) akan membuat perubahan berikut:
Menggunakan model harga baru. Untuk informasi harga semua API, lihat Places SDK for Android (Baru).
Anda harus melakukan inisialisasi aplikasi dengan memanggil metode
Places.initializeWithNewPlacesApiEnabled()
. Untuk mengetahui informasi selengkapnya tentang cara memilih layanan Places API, lihat Menyiapkan project Google Cloud.Penyamaran kolom wajib diisi. Anda harus menentukan kolom mana yang ingin ditampilkan dalam respons. Tidak ada daftar default kolom yang ditampilkan. Jika Anda tidak menyertakan daftar ini, metode akan menampilkan error.
Penelusuran di Sekitar (Baru) tidak mendukung
PlaceLikelihood
. Dengan Nearby Search (Baru), Anda dapat menggunakan urutan hasil untuk menentukan lokasi yang paling mungkin.
Contoh Nearby Search (Baru)
Untuk mengetahui informasi selengkapnya, serta contoh cara menggunakan Nearby Search (Baru), lihat dokumentasi Nearby Search (Baru).
Menggunakan Nearby Search (Baru) untuk mendapatkan tempat saat ini
Contoh berikut menunjukkan cara mendapatkan tempat saat ini dengan Nearby
Search (Baru) dengan mengganti penggunaan PlacesClient.findCurrentPlace()
dengan
PlacesClient.searchNearby()
:
public class MainActivity extends extends AppCompatActivity {
private FusedLocationProviderClient fusedLocationProviderClient;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
// ...
// get permission
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_FINE_LOCATION)
== PackageManager.PERMISSION_GRANTED) {
// get location and search
fusedLocationProviderClient
.getLastLocation()
.addOnSuccessListener(
this,
location -> {
if (location != null) {
LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude());
CircularBounds circle = CircularBounds.newInstance(latLng, 10);
List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME);
SearchNearbyRequest.Builder request = SearchNearbyRequest.builder(circle, placeFields);
placesClient
.searchNearby(request.build())
.addOnSuccessListener(response ->
List<Place> places = response.getPlaces();)
.addOnFailureListener(
exception -> {
// handle failure
});
} else {
// failed to get location.
}
})
.addOnFailureListener(
e -> {
// handle error
});
} else {
ActivityCompat.requestPermissions(
this,
new String[] {Manifest.permission.ACCESS_FINE_LOCATION},
PERMISSION_REQUEST_CODE);
}
}
}