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

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

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

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

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

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

ConsumerMapView

ConsumerMapView এ ক্লাউড-ভিত্তিক মানচিত্র স্টাইলিং ব্যবহার করতে, GoogleMapOptionsmapId ক্ষেত্রটি সেট করুন এবং GoogleMapOptions কে getConsumerGoogleMapAsync(ConsumerMapReadyCallback, Fragment, GoogleMapOptions) অথবা getConsumerGoogleMapAsync(ConsumerMapReadyCallback, FragmentActivity, 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 দিয়ে ক্লাউড-ভিত্তিক মানচিত্র স্টাইলিং ব্যবহার করতে, GoogleMapOptionsmapId ক্ষেত্রটি সেট করুন এবং 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 দেখুন।

`অটোক্যামেরা`

আমার অবস্থান বোতাম সম্পর্কে বিস্তারিত জানার জন্য, মানচিত্র জাভাস্ক্রিপ্ট API ডকুমেন্টেশনে আমার অবস্থান বোতামটি দেখুন।

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

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

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

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

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

এরপর কি?

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