অ্যান্ড্রয়েডের জন্য প্লেসেস এসডিকে (লেগ্যাসি) কারেন্ট প্লেস (লেগ্যাসি) সমর্থন করে। আপনি যদি কারেন্ট প্লেস (লেগ্যাসি)-এর সাথে পরিচিত হন, তাহলে নিয়ারবাই সার্চ (নিউ) নিম্নলিখিত পরিবর্তনগুলি করে:
একটি নতুন মূল্য নির্ধারণ মডেল ব্যবহার করা হয়েছে। সমস্ত এপিআই-এর মূল্য সংক্রান্ত তথ্যের জন্য, প্লেসেস এসডিকে ফর অ্যান্ড্রয়েড (নিউ) দেখুন।
আপনাকে অবশ্যই
Places.initializeWithNewPlacesApiEnabled()মেথডটি কল করে আপনার অ্যাপটি ইনিশিয়ালাইজ করতে হবে। Places API সার্ভিস নির্বাচন করার বিষয়ে আরও তথ্যের জন্য, আপনার Google Cloud প্রজেক্ট সেট আপ করুন দেখুন।ফিল্ড মাস্কিং আবশ্যক। রেসপন্সে আপনি কোন ফিল্ডগুলো ফেরত পেতে চান, তা আপনাকে অবশ্যই নির্দিষ্ট করতে হবে। ফেরত আসা ফিল্ডগুলোর কোনো ডিফল্ট তালিকা নেই। আপনি যদি এই তালিকাটি বাদ দেন, তাহলে মেথডগুলো একটি এরর ফেরত দেবে।
নিকটবর্তী অনুসন্ধান (নতুন)
PlaceLikelihoodসমর্থন করে না। নিকটবর্তী অনুসন্ধান (নতুন)-এর মাধ্যমে, আপনি ফলাফলের ক্রম ব্যবহার করে সবচেয়ে সম্ভাব্য অবস্থান নির্ধারণ করতে পারেন।
কাছাকাছি অনুসন্ধান (নতুন) উদাহরণ
আরও তথ্যের জন্য, এবং Nearby Search (New) কীভাবে ব্যবহার করতে হয় তার উদাহরণের জন্য, Nearby Search (New) ডকুমেন্টেশন দেখুন।
বর্তমান স্থান পেতে নিকটবর্তী অনুসন্ধান (নতুন) ব্যবহার করুন।
নিম্নলিখিত নমুনাটি দেখায় কিভাবে PlacesClient.findCurrentPlace() এর ব্যবহারকে PlacesClient.searchNearby() দিয়ে প্রতিস্থাপন করে Nearby Search (New) এর মাধ্যমে বর্তমান স্থানটি পাওয়া যায়:
public class MainActivity 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, 100);
List<Place.Field> placeFields = Arrays.asList(Place.Field.ID, Place.Field.DISPLAY_NAME);
// Define a list of types to exclude. Adjust this list to suit each application.
final List<String> excludedTypes = Arrays.asList("public_bathroom", "beach");
SearchNearbyRequest request
= SearchNearbyRequest.builder(/* location restriction = */ circle, placeFields)
.setExcludedTypes(excludedTypes)
.setRankPreference(SearchNearbyRequest.RankPreference.DISTANCE)
.build();
placesClient
.searchNearby(request)
.addOnSuccessListener(
response -> {
List<Place> places = response.getPlaces();
// do more on the results
})
.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);
}
}
}