একটি মানচিত্র শৈলী

প্ল্যাটফর্ম নির্বাচন করুন: অ্যান্ড্রয়েড আইওএস জাভাস্ক্রিপ্ট

এই নির্দেশিকায় সেই উপায়গুলো বর্ণনা করা হয়েছে, যার মাধ্যমে আপনি কোনো ভ্রমণ অনুসরণ করার সময় আপনার অ্যান্ড্রয়েড অ্যাপে প্রদর্শিত মানচিত্রটি নিজের মতো করে সাজিয়ে নিতে পারেন। আপনি নিম্নলিখিত উপায়ে মানচিত্রটির চেহারা ও রূপ নিজের মতো করে সাজিয়ে নিতে পারেন:

ক্লাউড-ভিত্তিক মানচিত্রের স্টাইলিং ব্যবহার করে মানচিত্রটি সাজান।

ক্লাউড-ভিত্তিক ম্যাপ স্টাইলিং ব্যবহার করে ম্যাপ কম্পোনেন্টের চেহারা ও অনুভূতি নিজের মতো করে সাজিয়ে নিন। আপনার কোডে কোনো পরিবর্তন না করেই, আপনি গুগল ম্যাপস ব্যবহারকারী যেকোনো অ্যাপের জন্য গুগল ক্লাউড কনসোলে ম্যাপ স্টাইল তৈরি ও সম্পাদনা করতে পারেন। আরও তথ্যের জন্য, ‘ক্লাউড-ভিত্তিক ম্যাপ স্টাইলিং’ থেকে আপনার প্ল্যাটফর্মটি নির্বাচন করুন।

ConsumerMapView এবং ConsumerMapFragment উভয় ক্লাসই ক্লাউড-ভিত্তিক ম্যাপ স্টাইলিং সমর্থন করে। ক্লাউড-ভিত্তিক ম্যাপ স্টাইলিং ব্যবহার করার জন্য, নিশ্চিত করুন যে নির্বাচিত ম্যাপ রেন্ডারারটি LATEST । নিম্নলিখিত বিভাগগুলিতে আপনার প্রোজেক্টে ক্লাউড-ভিত্তিক ম্যাপ স্টাইলিং কীভাবে ব্যবহার করবেন তার উদাহরণ দেখানো হয়েছে।

ConsumerMapView

ConsumerMapView তে ক্লাউড-ভিত্তিক ম্যাপের স্টাইলিং ব্যবহার করতে, GoogleMapOptions এর mapId ফিল্ডটি সেট করুন এবং getConsumerGoogleMapAsync(ConsumerMapReadyCallback, Fragment, GoogleMapOptions) অথবা getConsumerGoogleMapAsync(ConsumerMapReadyCallback, FragmentActivity, GoogleMapOptions) -এ GoogleMapOptions পাস করুন।

উদাহরণ

জাভা

public class SampleAppActivity extends AppCompatActivity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ConsumerMapView mapView = findViewById(R.id.consumer_map_view);

    if (mapView != null) {
      GoogleMapOptions optionsWithMapId = new GoogleMapOptions().mapId("map-id");
      mapView.getConsumerGoogleMapAsync(
          new ConsumerMapReadyCallback() {
            @Override
            public void onConsumerMapReady(@NonNull ConsumerGoogleMap consumerGoogleMap) {
              // ...
            }
          },
          /* fragmentActivity= */ this,
          /* googleMapOptions= */ optionsWithMapId);
    }
  }
}

কোটলিন

class SampleAppActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    val mapView = findViewById(R.id.consumer_map_view) as ConsumerMapView

    val optionsWithMapId = GoogleMapOptions().mapId("map-id")
    mapView.getConsumerGoogleMapAsync(
      object : ConsumerGoogleMap.ConsumerMapReadyCallback() {
        override fun onConsumerMapReady(consumerGoogleMap: ConsumerGoogleMap) {
          // ...
        }
      },
      /* fragmentActivity= */ this,
      /* googleMapOptions= */ optionsWithMapId)
  }
}

ConsumerMapFragment

ConsumerMapFragments-এ ক্লাউড-ভিত্তিক মানচিত্রের স্টাইলিং ব্যবহার করার দুটি উপায় রয়েছে:

  • XML-এর সাথে স্থিরভাবে।
  • newInstance এর সাথে গতিশীলভাবে।

XML দিয়ে স্থিরভাবে

ConsumerMapFragment এর XML-এ ক্লাউড-ভিত্তিক ম্যাপের স্টাইলিং ব্যবহার করতে, নির্দিষ্ট mapId সহ map:mapId XML অ্যাট্রিবিউটটি যোগ করুন। নিম্নলিখিত উদাহরণটি দেখুন:

<fragment
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    android:name="com.google.android.libraries.mapsplatform.transportation.consumer.view.ConsumerMapFragment"
    android:id="@+id/consumer_map_fragment"
    map:mapId="map-id"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

newInstance সাথে গতিশীলভাবে

ConsumerMapFragmentnewInstance সাথে ক্লাউড-ভিত্তিক ম্যাপের স্টাইলিং ব্যবহার করতে, GoogleMapOptions এর mapId ফিল্ডটি সেট করুন এবং GoogleMapOptions টি newInstance এ পাস করুন। নিচের উদাহরণটি দেখুন:

জাভা

public class SampleFragmentJ extends Fragment {

  @Override
  public View onCreateView(
      @NonNull LayoutInflater inflater,
      @Nullable ViewGroup container,
      @Nullable Bundle savedInstanceState) {

    final View view = inflater.inflate(R.layout.consumer_map_fragment, container, false);

    GoogleMapOptions optionsWithMapId = new GoogleMapOptions().mapId("map-id");
    ConsumerMapFragment consumerMapFragment = ConsumerMapFragment.newInstance(optionsWithMapId);

    getParentFragmentManager()
        .beginTransaction()
        .add(R.id.consumer_map_fragment, consumerMapFragment)
        .commit();

    consumerMapFragment.getConsumerGoogleMapAsync(
        new ConsumerMapReadyCallback() {
          @Override
          public void onConsumerMapReady(@NonNull ConsumerGoogleMap consumerGoogleMap) {
            // ...
          }
        });

    return view;
  }
}

কোটলিন

class SampleFragment : Fragment() {
  override fun onCreateView(
    inflater: LayoutInflater,
    container: ViewGroup?,
    savedInstanceState: Bundle?): View? {

    val view = inflater.inflate(R.layout.consumer_map_fragment, container, false)

    val optionsWithMapId = GoogleMapOptions().mapId("map-id")
    val consumerMapFragment = ConsumerMapFragment.newInstance(optionsWithMapId)

    parentFragmentManager
      .beginTransaction()
      .add(R.id.consumer_map_fragment, consumerMapFragment)
      .commit()

    consumerMapFragment.getConsumerGoogleMapAsync(
      object : ConsumerMapReadyCallback() {
        override fun onConsumerMapReady(consumerGoogleMap: ConsumerGoogleMap) {
          // ...
        }
      })

    return view
  }
}

ভ্রমণের উপর ফোকাস করার জন্য ক্যামেরার জুম অ্যাডজাস্ট করুন।

ভ্রমণের অভিজ্ঞতা ভাগ করে নেওয়ার সময়, আপনি দুটি উপায়ের একটিতে ক্যামেরার জুম ও ফোকাস নিয়ন্ত্রণ করতে পারেন:

  • AutoCamera : আপনি যদি AutoCamera ব্যবহার করতে চান, তবে আপনাকে কিছুই করতে হবে না। ক্যামেরাটি ভ্রমণপথ অনুসরণ করবে। বিস্তারিত জানতে AutoCamera দেখুন।

  • ক্যামেরার আচরণ কাস্টমাইজ করুন: ক্যামেরার আচরণ কাস্টমাইজ করতে হলে, আপনাকে AutoCamera নিষ্ক্রিয় করতে হবে এবং তারপর আপনার পছন্দ অনুযায়ী পরিবর্তন করতে হবে। বিস্তারিত জানতে, ‘ক্যামেরার আচরণ কাস্টমাইজ করুন’ দেখুন।

AutoCamera ক্যামেরাটিকে কেন্দ্রে স্থাপন করে।

কনজিউমার এসডিকে একটি AutoCamera ফিচার প্রদান করে, যা ম্যাপস এসডিকে-এর বিল্ট-ইন 'মাই লোকেশন' বাটনে ডিফল্টরূপে সক্রিয় থাকে। ক্যামেরাটি ট্রিপ রুট এবং পরবর্তী ট্রিপ ওয়েপয়েন্টের উপর ফোকাস করার জন্য জুম করে।

আপনি যদি AutoCamera ব্যবহার করতে চান, তবে এটি সক্রিয় করতে ভুলবেন না। আরও বিস্তারিত জানতে, isAutoCameraEnabled দেখুন।

অটো ক্যামেরা

'My Location' বাটন সম্পর্কে বিস্তারিত জানতে, Maps JavaScript API ডকুমেন্টেশনের 'My Location' বাটন অংশটি দেখুন।

ক্যামেরার আচরণ কাস্টমাইজ করুন

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

  1. ConsumerController.setAutoCameraEnabled() ব্যবহার করে AutoCamera নিষ্ক্রিয় করুন।

  2. ConsumerController.getCameraUpdate() ব্যবহার করে প্রস্তাবিত ক্যামেরা বাউন্ডস পান।

  3. এই অ্যান্ড্রয়েড ফাংশনগুলির মধ্যে যেকোনো একটিতে CameraUpdate একটি আর্গুমেন্ট হিসেবে প্রদান করুন:

এরপর কী?

অ্যান্ড্রয়েডে একটি ভ্রমণ অনুসরণ করুন