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

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

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

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

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

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

ConsumerMapView

ConsumerMapView এ ক্লাউড-ভিত্তিক মানচিত্র স্টাইলিং ব্যবহার করতে, GoogleMapOptionsmapId ক্ষেত্র সেট করুন এবং getConsumerGoogleMapAsync(ConsumerMapReadyCallback, Fragment, GoogleMapOptions ) বা getConsumerGoogleMapAsync,Mapt,All )

উদাহরণ

জাভা

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 এ ক্লাউড-ভিত্তিক মানচিত্র স্টাইলিং ব্যবহার করার দুটি উপায় রয়েছে:

  • স্থিরভাবে এক্সএমএল দিয়ে।
  • newInstance সাথে গতিশীলভাবে।

স্থিরভাবে এক্সএমএল দিয়ে

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 ক্যামেরাকে কেন্দ্র করে

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

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

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

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

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

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

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

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

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

এরপর কি

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

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

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

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

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

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

ConsumerMapView

ConsumerMapView এ ক্লাউড-ভিত্তিক মানচিত্র স্টাইলিং ব্যবহার করতে, GoogleMapOptionsmapId ক্ষেত্র সেট করুন এবং getConsumerGoogleMapAsync(ConsumerMapReadyCallback, Fragment, GoogleMapOptions ) বা getConsumerGoogleMapAsync,Mapt,All )

উদাহরণ

জাভা

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 এ ক্লাউড-ভিত্তিক মানচিত্র স্টাইলিং ব্যবহার করার দুটি উপায় রয়েছে:

  • স্থিরভাবে এক্সএমএল দিয়ে।
  • newInstance সাথে গতিশীলভাবে।

স্থিরভাবে এক্সএমএল দিয়ে

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 ক্যামেরাকে কেন্দ্র করে

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

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

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

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

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

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

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

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

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

এরপর কি

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