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

European Economic Area (EEA) developers

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

  • একটি নতুন মূল্য নির্ধারণ মডেল ব্যবহার করা হয়েছে। সমস্ত এপিআই-এর মূল্য সংক্রান্ত তথ্যের জন্য, প্লেসেস এসডিকে ফর অ্যান্ড্রয়েড (নিউ) দেখুন।

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

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

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

Nearby Search (New) examples

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

Use Nearby Search (New) to get the current place

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

  }
}