ক্যামেরা কন্ট্রোল কনফিগার করা

প্ল্যাটফর্ম বেছে নিন: Android iOS JavaScript

ব্যবহারকারীরা ম্যাপে জেসচার ব্যবহার করে ক্যামেরার জুম, টিল্ট, পজিশন এবং রোটেশন কন্ট্রোল করতে পারবেন। এছাড়াও, আপনি প্রোগ্রাম্যাটিক্যালি ক্যামেরা কনফিগার করতে পারবেন।

3D ক্যামেরা মডেলের ডায়াগ্রাম

ক্যামেরার অবস্থান

ম্যাপ ভিউকে এমনভাবে মডেল করা হয়েছে যাতে মনে হয় ক্যামেরা স্পেসের কোনও নির্দিষ্ট পয়েন্টের দিকে তাক করে আছে। ক্যামেরার পজিশন ও ওরিয়েন্টেশন অক্ষাংশ/দ্রাঘিমাংশ/উচ্চতা স্থানাঙ্ক, হেডিং, টিল্ট, রেঞ্জ ও রোলের মাধ্যমে নির্ধারণ করা হয়।

অক্ষাংশ, দ্রাঘিমাংশ, উচ্চতা

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

অক্ষাংশ -৯০ থেকে ৯০ ডিগ্রির মধ্যে হতে পারে। দ্রাঘিমাংশের রেঞ্জ -১৮০ থেকে ১৮০ ডিগ্রির মধ্যে হতে হবে। সমুদ্রপৃষ্ঠ থেকে উচ্চতা মিটারে উল্লেখ করা হয়েছে।

এই রেঞ্জের উপরে বা নিচের ভ্যালু এই রেঞ্জের মধ্যে থাকা সবচেয়ে কাছের ভ্যালুর সাথে ক্ল্যাম্প করা হবে। যেমন, অক্ষাংশ ১০০ উল্লেখ করলে ভ্যালু ৯০ সেট হবে।

শিরোনাম

হেডিং ম্যাপের কম্পাস দিক নির্দিষ্ট করে, যা প্রকৃত উত্তর থেকে ঘড়ির কাঁটার দিকে ডিগ্রিতে পরিমাপ করা হয়। উত্তর দিক ০ ডিগ্রি, পূর্ব দিক ৯০ ডিগ্রি, দক্ষিণ দিক ১৮০ ডিগ্রি এবং পশ্চিম দিক ২৭০ ডিগ্রির সমতুল্য।

টিল্ট

টিল্ট উল্লম্ব অক্ষের সাপেক্ষে ক্যামেরার কোণ নির্দিষ্ট করে, যা ডিগ্রিতে পরিমাপ করা হয়। ০ ডিগ্রি টিল্ট মানে ক্যামেরা পৃথিবীর দিকে সরাসরি নিচের দিকে তাক করে আছে ( নাদির)। ৯০ ডিগ্রি টিল্ট করার অর্থ হল হেডিং-এ উল্লেখ করা দিক অনুযায়ী ক্যামেরা অনুভূমিকভাবে পয়েন্ট করা আছে।

ব্যাপ্তি

রেঞ্জ ক্যামেরার নিজস্ব অবস্থান এবং ম্যাপের কেন্দ্রের মধ্যে দূরত্ব মিটারে নির্ধারণ করে। এই রেঞ্জ শূন্য মিটার (খুব কাছ থেকে) থেকে শুরু করে ৬৩ মিলিয়ন মিটার পর্যন্ত হতে পারে, যার ফলে খুব কাছ থেকে শুরু করে একদম গ্লোবাল পার্সপেক্টিভ পর্যন্ত ভিউ পাওয়া যায়। এটি ম্যাপকে "জুম-ইন" বা "জুম-আউট" করে দেখানোর বিষয়টি নিয়ন্ত্রণ করে।

রোল

রোল দিগন্তের সাপেক্ষে ক্যামেরার কোণ সেট করে, যা ডিগ্রিতে পরিমাপ করা হয়। এই প্যারামিটারটি ফ্লাইট সিমুলেশনের সময় ব্যাঙ্কিং বা এমনকি একটি সম্পূর্ণ ব্যারেল রোলের মতো এফেক্ট তৈরি করতে ব্যবহার করা যেতে পারে, যা ক্যামেরাকে তার দেখার অক্ষের চারপাশে ঘোরায়।

ক্যামেরা কন্ট্রোল করা

প্রোগ্রাম্যাটিক্যালি কীভাবে ক্যামেরা কন্ট্রোল করতে হয় তা নিম্নলিখিত কোড স্যাম্পেল থেকে দেখানো হয়েছে।

Swift


public static var sanFrancisco: Camera = .init(
  center: .init(
    latitude: 37.7845812,
    longitude: -122.3660241,
    altitude: 585),
  fieldOfView: .init(degrees: 100),
  heading: 288.0,
  tilt: 75.0,
  roll: 0.0,
  range: 100)

UI কন্ট্রোল

স্ট্যান্ডার্ড জেসচার ছাড়াও, iOS-এর জন্য Maps 3D SDK ক্যামেরার পজিশন ম্যানিপুলেট করার জন্য UI কন্ট্রোলও প্রদান করে।

  • জুম কন্ট্রোল ম্যাপের জুম লেভেল পরিবর্তন করার জন্য "+" এবং "-" বোতাম দেখায়।
  • সরানোর কন্ট্রোল ম্যাপের কেন্দ্র পরিবর্তন করার জন্য "←", "→", "↑" এবং "↓" বোতাম দেখায়।
  • ঘোরানোর কন্ট্রোল "↺" এবং "↻" দেখায় যা ক্যামেরার হেডিং পরিবর্তন করতে ব্যবহার করা হয়।
  • টিল্ট কন্ট্রোল "^" এবং "⌄" দেখায়, যার সাহায্যে ক্যামেরার টিল্ট পরিবর্তন করা যায়।
  • কম্পাস কন্ট্রোল কম্পাসের উত্তর দিক নির্দেশ করে এবং ক্যামেরা উত্তর দিকে রিসেট করার অনুমতি দেয়।

UI কন্ট্রোলের দৃশ্যমানতা কীভাবে পরিবর্তন করতে হয় তা নিম্নলিখিত কোড স্যাম্পেল থেকে জানতে পারবেন:

Swift


struct ContentView: View {
  @State private var showControls = true

  var body: some View {
    Map(mode: .hybrid)
      .mapControls(at: .trailing) {
        if showControls {
          CompassControl()
          ZoomControl()
          TiltControl()
        }
      }
  }
}