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

ক্যামেরার অবস্থান
ম্যাপ ভিউকে এমনভাবে মডেল করা হয়েছে যাতে মনে হয় ক্যামেরা স্পেসের কোনও নির্দিষ্ট পয়েন্টের দিকে তাক করে আছে। ক্যামেরার অবস্থান এবং ওরিয়েন্টেশন অক্ষাংশ/দ্রাঘিমাংশ/উচ্চতা স্থানাঙ্ক, হেডিং, টিল্ট, রেঞ্জ এবং রোল দ্বারা সংজ্ঞায়িত করা হয়।
অক্ষাংশ, দ্রাঘিমাংশ, উচ্চতা
ক্যামেরার প্রাথমিক পজিশন অক্ষাংশ, দ্রাঘিমাংশ ও উচ্চতা সেট করার মাধ্যমে নির্ধারণ করা হয়। এইসব ভ্যালু একত্রিত করে ক্যামেরা কোথায় পজিশন করা আছে তা নির্ধারণ করা হয়, ক্যামেরা কোথায় পয়েন্ট করছে বা কোথায় ফোকাস করছে তা নয়।
অক্ষাংশ -৯০ থেকে ৯০ ডিগ্রির মধ্যে হতে পারে। দ্রাঘিমাংশের রেঞ্জ -১৮০ থেকে ১৮০ ডিগ্রির মধ্যে হতে হবে। সমুদ্রপৃষ্ঠ থেকে উচ্চতা মিটারে উল্লেখ করা হয়।
এই রেঞ্জের উপরে বা নিচের ভ্যালু এই রেঞ্জের মধ্যে থাকা সবচেয়ে কাছের ভ্যালুর সাথে ক্ল্যাম্প করা হবে। যেমন, ১০০ অক্ষাংশ উল্লেখ করলে ভ্যালু ৯০ হিসেবে সেট করা হবে।
শিরোনাম
হেডিং ম্যাপের কম্পাস দিক নির্দেশ করে, যা প্রকৃত উত্তর দিক থেকে ঘড়ির কাঁটার দিকে ডিগ্রিতে পরিমাপ করা হয়। উত্তর দিক ০ ডিগ্রি, পূর্ব দিক ৯০ ডিগ্রি, দক্ষিণ দিক ১৮০ ডিগ্রি এবং পশ্চিম দিক ২৭০ ডিগ্রির সমতুল্য।
টিল্ট
টিল্ট উল্লম্ব অক্ষের সাপেক্ষে ক্যামেরার কোণ নির্দিষ্ট করে, যা ডিগ্রিতে পরিমাপ করা হয়। ০ ডিগ্রি টিল্ট মানে ক্যামেরা পৃথিবীর দিকে সরাসরি নিচের দিকে তাক করে আছে ( নাদির)। ৯০ ডিগ্রি টিল্ট মানে ক্যামেরাটি অনুভূমিকভাবে হেডিং-এর মাধ্যমে নির্দিষ্ট করা দিকে পয়েন্ট করা আছে।
ব্যাপ্তি
রেঞ্জ ক্যামেরার নিজস্ব অবস্থান এবং ম্যাপের কেন্দ্রের মধ্যে মিটারের দূরত্ব নির্ধারণ করে। এই রেঞ্জ শূন্য মিটার (খুব কাছ থেকে) থেকে শুরু করে ৬৩ মিলিয়ন মিটার পর্যন্ত হতে পারে, যার ফলে খুব কাছ থেকে শুরু করে একদম গ্লোবাল পার্সপেক্টিভ পর্যন্ত ভিউ পাওয়া যায়। এটি ম্যাপকে "জুম-ইন" বা "জুম-আউট" করে দেখানোর বিষয়টি নিয়ন্ত্রণ করে।
রোল
রোল দিগন্তের সাপেক্ষে ক্যামেরার কোণ সেট করে, যা ডিগ্রিতে পরিমাপ করা হয়। এই প্যারামিটারটি ফ্লাইট সিমুলেশনের সময় ব্যাঙ্কিং বা এমনকি একটি সম্পূর্ণ ব্যারেল রোলের মতো এফেক্ট তৈরি করতে ব্যবহার করা যেতে পারে, যা ক্যামেরাকে তার দেখার অক্ষের চারপাশে ঘোরায়।
ক্যামেরা কন্ট্রোল করা
নিচের কোড স্যাম্পেল থেকে জানতে পারবেন কীভাবে প্রোগ্রাম্যাটিক্যালি ক্যামেরা কন্ট্রোল করতে হয়।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()
}
}
}
}