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

ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA) ডেভেলপাররা

অ্যান্ড্রয়েডের জন্য প্লেস SDK (লিগ্যাসি) বর্তমান প্লেস (লিগ্যাসি) সমর্থন করে। আপনি যদি বর্তমান প্লেস (লিগ্যাসি) এর সাথে পরিচিত হন, তাহলে Nearby Search (New) নিম্নলিখিত পরিবর্তনগুলি করে:

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

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

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

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

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

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

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

নিচের নমুনাটি দেখায় যে কীভাবে 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);
    }

  }
}