বর্তমান স্থান (উত্তরাধিকার) থেকে কাছাকাছি অনুসন্ধানে (নতুন) স্থানান্তরিত করুন

ইউরোপিয়ান ইকোনমিক এরিয়া (EEA) ডেভেলপার

Android এর জন্য স্থান SDK (উত্তরাধিকার) বর্তমান স্থান (উত্তরাধিকার) সমর্থন করে। আপনি যদি বর্তমান স্থানের সাথে পরিচিত হন (উত্তরাধিকার), কাছাকাছি অনুসন্ধান (নতুন) নিম্নলিখিত পরিবর্তনগুলি করে:

  • একটি নতুন মূল্যের মডেল ব্যবহার করে। সমস্ত API-এর মূল্যের তথ্যের জন্য, Android এর জন্য স্থান SDK দেখুন (নতুন)

  • Places.initializeWithNewPlacesApiEnabled() পদ্ধতিতে কল করে আপনাকে অবশ্যই আপনার অ্যাপ আরম্ভ করতে হবে। স্থান API পরিষেবা নির্বাচন করার বিষয়ে আরও তথ্যের জন্য, আপনার Google ক্লাউড প্রকল্প সেট আপ করুন দেখুন।

  • ক্ষেত্র মাস্কিং প্রয়োজন. প্রতিক্রিয়ায় আপনি কোন ক্ষেত্রগুলি ফেরত দিতে চান তা অবশ্যই উল্লেখ করতে হবে। প্রত্যাবর্তিত ক্ষেত্রের কোনো ডিফল্ট তালিকা নেই। আপনি যদি এই তালিকাটি বাদ দেন, পদ্ধতিগুলি একটি ত্রুটি ফেরত দেয়।

  • কাছাকাছি অনুসন্ধান (নতুন) PlaceLikelihood সমর্থন করে না। কাছাকাছি অনুসন্ধান (নতুন), আপনি সবচেয়ে সম্ভাব্য অবস্থান নির্ধারণ করতে ফলাফলের ক্রম ব্যবহার করতে পারেন।

কাছাকাছি অনুসন্ধান (নতুন) উদাহরণ

আরও তথ্যের জন্য, পাশাপাশি কাছাকাছি অনুসন্ধান (নতুন) কীভাবে ব্যবহার করবেন তার উদাহরণের জন্য, কাছাকাছি অনুসন্ধান (নতুন) ডকুমেন্টেশন দেখুন।

বর্তমান স্থান পেতে কাছাকাছি অনুসন্ধান (নতুন) ব্যবহার করুন

নিম্নলিখিত নমুনাটি দেখায় কিভাবে PlacesClient.findCurrentPlace() ব্যবহার করে 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);
    }

  }
}