Android için Yerler SDK'sı (Eski), Current Place (Legacy)'yi destekler. Mevcut Yer (Eski) özelliğini kullanıyorsanız Yakındaki Arama (Yeni) özelliğinde aşağıdaki değişiklikler yapılır:
Yeni bir fiyatlandırma modeli kullanır. Tüm API'lerin fiyatlandırma bilgileri için Android için Yerler SDK'sı (Yeni) başlıklı makaleyi inceleyin.
Places.initializeWithNewPlacesApiEnabled()
yöntemini çağırarak uygulamanızı başlatmanız gerekir. Rehber API hizmetini seçme hakkında daha fazla bilgi için Google Cloud projenizi ayarlama başlıklı makaleye bakın.Alan maskeleme gereklidir. Yanıtta hangi alanların döndürülmesini istediğinizi belirtmeniz gerekir. Döndürülen alanların varsayılan bir listesi yoktur. Bu listeyi atlarsanız yöntemler hata döndürür.
Yakındaki Arama (Yeni),
PlaceLikelihood
özelliğini desteklemez. Yakındaki Arama (Yeni) ile en olası konumu belirlemek için sonuç sırasını kullanabilirsiniz.
Yakında Arama (Yeni) örnekleri
Daha fazla bilgi ve Yakınlarda Arama (Yeni) özelliğinin nasıl kullanılacağına dair örnekler için Yakınlarda Arama (Yeni) dokümanlarına bakın.
Mevcut yeri almak için Yakınlarda Arama'yı (Yeni) kullanın
Aşağıdaki örnekte, PlacesClient.findCurrentPlace()
yerine PlacesClient.searchNearby()
kullanılarak Nearby Search (Yeni) ile mevcut yerin nasıl alınacağı gösterilmektedir:
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);
}
}
}