এই ওভারভিউটি iOS-এর জন্য Maps SDK ব্যবহার করে একটি iOS অ্যাপে যোগ করা একটি মানচিত্র কীভাবে কনফিগার করতে হয় তা বর্ণনা করে।
ওভারভিউ
আপনি আপনার অ্যাপে একটি মানচিত্র যুক্ত করার পরে, আপনি প্রাথমিক বিকল্পগুলি এবং মানচিত্রের রানটাইম সেটিংস কনফিগার করতে পারেন৷ একটি মানচিত্র ধারক যোগ করার বিষয়ে বিস্তারিত জানার জন্য, একটি মানচিত্র যোগ করুন দেখুন।
প্রাথমিক মানচিত্র সেটিংস নিম্নলিখিত অন্তর্ভুক্ত:
- ক্যামেরা অবস্থান, সহ: অবস্থান, জুম, বিয়ারিং এবং কাত। ক্যামেরা অবস্থান সম্পর্কে বিস্তারিত জানার জন্য ক্যামেরা এবং ভিউ দেখুন।
- মানচিত্রের পটভূমির রঙ ।
- মানচিত্রের ধরন ।
- প্রদর্শন করার জন্য UI উপাদান , যেমন জুম বোতাম এবং কম্পাস।
- অঙ্গভঙ্গি সক্রিয় করতে.
রানটাইমে আপনি GMSMapView
অবজেক্ট আপডেট করে এই সেটিংস এবং কিছু সংযোজন সেটিংস কনফিগার করতে পারেন।
মানচিত্র বিকল্প
আপনার মানচিত্র দৃশ্য শুরু করার সময়, কনফিগারেশন বিকল্পগুলি GMSMapViewOptions
এর সাথে সেট করা হয়। বিকল্প বৈশিষ্ট্যগুলির মধ্যে রয়েছে frame
, camera
, mapID
বা backgroundColor
।
মানচিত্র বিকল্প | |
---|---|
ফ্রেম | মান: CGRect মানচিত্রের ফ্রেম। CGRectZero-তে ডিফল্ট। |
ক্যামেরা | মান: GMSCameraPosition ডিফল্ট মানচিত্র ক্যামেরা অবস্থান। |
mapID | মান: GMSMapID গুগল ম্যাপআইডি। ঐচ্ছিক পরামিতি। |
ব্যাকগ্রাউন্ড কালার | মান: UIColor UIColor.lightGray-এ ডিফল্ট |
মানচিত্র বিকল্প কনফিগার করুন
আপনি হয় আপনার নিজস্ব বিকল্প বৈশিষ্ট্য সেট করতে পারেন, অথবা সরাসরি GMSMapView
এ ডিফল্ট মান সহ একটি তাত্ক্ষণিক GMSMapViewOptions
পাস করতে পারেন।
সুইফট
let options = GMSMapViewOptions() options.camera = GMSCameraPosition.camera(withLatitude: -33.8683, longitude: 151.2086, zoom: 6) let mapView = GMSMapView(options:options)
উদ্দেশ্য-C
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:-33.8683 longitude:151.2086 zoom:6]; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
ডিফল্ট মান সহ একটি GMSMapViewOptions
অবজেক্ট সরাসরি GMSMapView
এ পাস করার একটি উদাহরণ এখানে দেওয়া হল।
সুইফট
let options = GMSMapViewOptions() let mapView = GMSMapView(options:options) //initialized with default values
উদ্দেশ্য-C
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; //initialized with default values
পটভূমির রঙ কনফিগার করুন
ডার্ক মোডে কাজ করার সময় বা মানচিত্রের দৃশ্যগুলির মধ্যে স্যুইচ করার সময়, এটি ডিফল্ট মানচিত্রের পটভূমির রঙকে ওভাররাইড করতে কার্যকর হতে পারে। মানচিত্র অপশন backgroundColor
প্রপার্টি সেট করে এটি অর্জন করা যেতে পারে।
সুইফট
let options = GMSMapViewOptions() options.backgroundColor = UIColor.yellowColor let mapView = GMSMapView(options:options)
উদ্দেশ্য-C
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.backgroundColor = UIColor.yellowColor; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
মানচিত্র প্রকার
আপনি বিভিন্ন মানচিত্র প্রকারের একটি দিয়ে আপনার মানচিত্র কাস্টমাইজ করতে পারেন। একটি মানচিত্রের ধরন মানচিত্রের সামগ্রিক উপস্থাপনাকে নিয়ন্ত্রণ করে। উদাহরণস্বরূপ, একটি অ্যাটলাসে সাধারণত রাজনৈতিক মানচিত্র থাকে যা সীমানা দেখানোর উপর ফোকাস করে এবং রাস্তার মানচিত্র যা একটি শহর বা অঞ্চলের সমস্ত রাস্তা দেখায়। iOS-এর জন্য Maps SDK নিম্নলিখিত ধরনের মানচিত্র অফার করে:
মানচিত্রের ধরন | |
---|---|
স্বাভাবিক | মান: kGMSTypeNormal সাধারণ রাস্তার মানচিত্র। রাস্তা, মানুষের দ্বারা নির্মিত কিছু বৈশিষ্ট্য এবং নদীর মত গুরুত্বপূর্ণ প্রাকৃতিক বৈশিষ্ট্য দেখায়। রাস্তা এবং বৈশিষ্ট্য লেবেল এছাড়াও দৃশ্যমান হয়. মানচিত্রের রঙের স্কিমটিকে অন্ধকার, আলোতে সেট করা বা সিস্টেম সেটিংস অনুসরণ করতে সমর্থন করে। |
হাইব্রিড | মান: kGMSTypeHybrid রোড ম্যাপের সাথে স্যাটেলাইট ফটোগ্রাফ ডেটা যোগ করা হয়েছে। রাস্তা এবং বৈশিষ্ট্য লেবেল এছাড়াও দৃশ্যমান হয়. |
স্যাটেলাইট | মান: kGMSTypeSatellite স্যাটেলাইট ফটোগ্রাফ ডেটা। রাস্তা এবং বৈশিষ্ট্য লেবেল দৃশ্যমান নয়. |
ভূখণ্ড | মান: kGMSTypeTerrain টপোগ্রাফিক ডেটা। মানচিত্রে রং, কনট্যুর লাইন এবং লেবেল এবং দৃষ্টিভঙ্গি শেডিং অন্তর্ভুক্ত। কিছু রাস্তা এবং লেবেলও দৃশ্যমান। মানচিত্রের রঙের স্কিমটিকে অন্ধকার, আলোতে সেট করা বা সিস্টেম সেটিংস অনুসরণ করতে সমর্থন করে। |
কোনোটিই নয় | মান: kGMSTypeNone কোনো মানচিত্রের টাইলস নেই। ভিত্তি মানচিত্র টাইলস রেন্ডার করা হবে না. এই মোডটি টাইল স্তরগুলির সাথে একত্রে উপযোগী। ট্র্যাফিক ডেটা প্রদর্শন অক্ষম করা হয় যখন মানচিত্রের ধরনটি কোনটিতে সেট করা থাকে না৷ |
মানচিত্রের ধরন পরিবর্তন করা হচ্ছে
একটি মানচিত্রের ধরন সেট করতে, GMSMapView.mapType
সম্পত্তিতে একটি নতুন মান নির্ধারণ করুন৷ উদাহরণস্বরূপ, একটি স্যাটেলাইট মানচিত্র প্রদর্শন করতে:
সুইফট
let options = GMSMapViewOptions() options.camera = GMSCameraPosition.camera(withLatitude: -33.8683, longitude: 151.2086, zoom: 6) let mapView = GMSMapView(options:options) mapView.mapType = .satellite
উদ্দেশ্য-C
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:-33.8683 longitude:151.2086 zoom:6]; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; mapView.mapType = kGMSTypeSatellite;
নীচের চয়নকারী একই অবস্থানের জন্য ভূখণ্ড, স্বাভাবিক এবং হাইব্রিড মানচিত্রের তুলনা দেখায়:
অভ্যন্তরীণ মানচিত্র
উচ্চ জুম স্তরে, iOS-এর জন্য মানচিত্র SDK বিমানবন্দর, শপিং মল, বড় খুচরা দোকান এবং ট্রানজিট স্টেশনগুলির মতো অন্দর স্থানগুলির জন্য ফ্লোর প্ল্যান দেখাবে৷ ইন্ডোর ফ্লোর প্ল্যানগুলি 'স্বাভাবিক' মানচিত্র প্রকারের ( kGMSTypeNormal
) জন্য ডিফল্ট মানচিত্র টাইলগুলিতে একত্রিত করা হয় এবং ব্যবহারকারী যখন জুম ইন করে তখন স্বয়ংক্রিয়ভাবে সক্ষম হয় এবং মানচিত্রটি জুম আউট করার সময় বিবর্ণ হয়ে যায়৷
আপনি GMSMapView
এর indoorEnabled
বৈশিষ্ট্য NO
তে সেট করে ইনডোর মানচিত্র অক্ষম করতে পারেন।
সুইফট
mapView.isIndoorEnabled = false
উদ্দেশ্য-C
mapView.indoorEnabled = NO;
বিকল্পভাবে, আপনি শুধুমাত্র ফ্লোর পিকার নিয়ন্ত্রণ অক্ষম করতে পারেন।
মেঝে পরিকল্পনা যোগ করা হচ্ছে
ফ্লোর প্ল্যান বাছাই করা জায়গায় পাওয়া যায়। আপনি আপনার অ্যাপ্লিকেশনে হাইলাইট করতে চান এমন একটি বিল্ডিংয়ের জন্য ফ্লোর প্ল্যান ডেটা উপলব্ধ না হলে, আপনি করতে পারেন:
- সরাসরি Google Maps-এ ফ্লোর প্ল্যান যোগ করুন । এটি আপনার পরিকল্পনাগুলিকে Google মানচিত্রের সমস্ত ব্যবহারকারীদের কাছে উপলব্ধ করে তোলে৷
- গ্রাউন্ড ওভারলে হিসাবে একটি মেঝে পরিকল্পনা প্রদর্শন করুন। এটি শুধুমাত্র আপনার অ্যাপ্লিকেশনের ব্যবহারকারীদের আপনার মেঝে পরিকল্পনা দেখতে সক্ষম করে।
ট্রাফিক স্তর
আপনি আপনার ব্যবহারকারীদের মানচিত্রটি দেখার ক্ষমতা দিতে পারেন যার উপরে ট্রাফিক ঘনত্বের তথ্য রয়েছে। এটি তাদের স্থানীয় ট্রাফিক পরিস্থিতির একটি চাক্ষুষ সারাংশ প্রদান করে। আপনি trafficEnabled
পদ্ধতিতে কল করে ট্র্যাফিক স্তর চালু এবং বন্ধ করতে পারেন। নিচের উদাহরণটি দেখায় কিভাবে ট্রাফিক স্তর একটি মানচিত্রে প্রদর্শিত হতে পারে।
অ্যাক্সেসযোগ্যতা
ডিফল্টরূপে, মানচিত্রে অ্যাক্সেসযোগ্যতার উপাদানগুলি লুকানো থাকে৷ আপনি GMSMapView
এর accessibilityElementsHidden
প্রপার্টি NO
তে সেট করে অ্যাক্সেসিবিলিটি সক্ষম করতে পারেন। এটি ওভারলে অবজেক্টের জন্য অ্যাক্সেসিবিলিটি উপাদান তৈরি করে (যেমন GMSMarker
এবং তথ্য উইন্ডো, GMSPolyline
ইত্যাদি)।
সুইফট
mapView.accessibilityElementsHidden = false
উদ্দেশ্য-C
mapView.accessibilityElementsHidden = NO;
এই সম্পত্তিটি অনানুষ্ঠানিক UIAccessibility
প্রোটোকল অনুযায়ী, iOS এর জন্য Maps SDK-এ ডিফল্ট মান YES
।
আমার অবস্থান
ডিফল্টরূপে, মানচিত্রে কোনো অবস্থানের ডেটা দেখানো হয় না। আপনি GMSMapView
এ myLocationEnabled
সেট করে নীল "আমার অবস্থান" বিন্দু এবং কম্পাসের দিকনির্দেশ সক্ষম করতে পারেন।
সুইফট
mapView.isMyLocationEnabled = true
উদ্দেশ্য-C
mapView.myLocationEnabled = YES;
এই বৈশিষ্ট্যটি সক্ষম করার ফলে ব্যবহারকারীর বর্তমান অবস্থান myLocation
সম্পত্তির মাধ্যমে পাওয়া যায়। এই সম্পত্তিটি অবিলম্বে উপলব্ধ নাও হতে পারে - উদাহরণস্বরূপ, যদি ব্যবহারকারীকে এই ডেটাতে অ্যাক্সেসের অনুমতি দেওয়ার জন্য iOS দ্বারা অনুরোধ করা হয়। এই ক্ষেত্রে এটি nil
।
সুইফট
print("User's location: \(String(describing: mapView.myLocation))")
উদ্দেশ্য-C
NSLog(@"User's location: %@", mapView.myLocation);
3D বিল্ডিং
অনেক শহর, যখন কাছাকাছি দেখা হবে, 3D বিল্ডিংগুলি দৃশ্যমান হবে, নীচের সিয়াটল, ওয়াশিংটনের ছবিতে দেখা যাবে৷
আপনি সুইফ্ট বা অবজেক্টিভ-সি-তে সংশ্লিষ্ট GMSMapView
বৈশিষ্ট্য সেট করে 3D বিল্ডিংগুলি নিষ্ক্রিয় করতে পারেন, যেমনটি নীচে দেখানো হয়েছে:
সুইফট
mapView.isBuildingsEnabled = false
উদ্দেশ্য-C
[mapView setBuildingsEnabled:NO];
মানচিত্র প্যাডিং
একটি Google মানচিত্র GMSMapView
দ্বারা সংজ্ঞায়িত সমগ্র অঞ্চল পূরণ করার জন্য ডিজাইন করা হয়েছে। মানচিত্রটি কীভাবে প্রদর্শিত হয় এবং আচরণ করে তার কয়েকটি দিক দৃশ্যের মাত্রা দ্বারা সংজ্ঞায়িত করা হয়:
- ক্যামেরার লক্ষ্য প্যাডেড অঞ্চলের কেন্দ্র প্রতিফলিত করে।
- মানচিত্র নিয়ন্ত্রণগুলি মানচিত্রের প্রান্তের সাথে সম্পর্কিত।
- আইনি তথ্য, যেমন কপিরাইট বিবৃতি বা Google লোগো মানচিত্রের নীচের প্রান্তে প্রদর্শিত হয়।
আপনি GMSMapView
ব্যবহার করে মানচিত্রের প্রান্তের চারপাশে প্যাডিং যোগ করতে পারেন। padding
সম্পত্তি। মানচিত্রটি সম্পূর্ণ ধারকটি পূরণ করতে থাকে, তবে পাঠ্য এবং নিয়ন্ত্রণ অবস্থান, মানচিত্রের অঙ্গভঙ্গি এবং ক্যামেরার গতিবিধি এমনভাবে আচরণ করে যেন এটি একটি ছোট জায়গায় স্থাপন করা হয়েছে। এর ফলে নিম্নলিখিত পরিবর্তনগুলি ঘটে:
- API কল বা বোতাম প্রেস ব্যবহার করে ক্যামেরার গতিবিধি (যেমন, কম্পাস, আমার অবস্থান) প্যাডেড অঞ্চলের সাথে আপেক্ষিক।
-
GMSMapView
.projection
একটি অভিক্ষেপ প্রদান করে যা শুধুমাত্র প্যাডেড অঞ্চল অন্তর্ভুক্ত করে। - UI নিয়ন্ত্রণগুলি নির্দিষ্ট সংখ্যক পয়েন্ট দ্বারা কন্টেইনারের প্রান্ত থেকে অফসেট করা হয়।
মানচিত্রের কিছু অংশকে ওভারল্যাপ করে এমন UI ডিজাইন করার সময় প্যাডিং সহায়ক হতে পারে। উদাহরণস্বরূপ, ছবিতে, মানচিত্রটি উপরের এবং ডান প্রান্ত বরাবর প্যাড করা হয়েছে। দৃশ্যমান মানচিত্র নিয়ন্ত্রণ এবং আইনি পাঠ্য প্যাডেড অঞ্চলের প্রান্ত বরাবর প্রদর্শিত হয়, সবুজ রঙে দেখানো হয়, যখন মানচিত্রটি নীল রঙে দেখানো সম্পূর্ণ পাত্রে পূর্ণ হতে থাকে। এই উদাহরণে, আপনি মানচিত্র নিয়ন্ত্রণগুলিকে অস্পষ্ট না করেই মানচিত্রের ডান দিকে একটি মেনু ভাসতে পারেন।
আপনার মানচিত্রে প্যাডিং যোগ করতে, একটি UIEdgeInsets
অবজেক্ট তৈরি করুন এবং এটি GMSMapView
এ পাস করুন। padding
সম্পত্তি।
সুইফট
// Insets are specified in this order: top, left, bottom, right let mapInsets = UIEdgeInsets(top: 100.0, left: 0.0, bottom: 0.0, right: 300.0) mapView.padding = mapInsets
উদ্দেশ্য-C
// Insets are specified in this order: top, left, bottom, right UIEdgeInsets mapInsets = UIEdgeInsetsMake(100.0, 0.0, 0.0, 300.0); mapView.padding = mapInsets;
মানচিত্রের রঙের স্কিম
সাধারণ এবং ভূখণ্ডের মানচিত্রগুলির জন্য, আপনি মানচিত্রের রঙের স্কিমটি অন্ধকার, হালকা বা বর্তমান সিস্টেম সেটিংস ব্যবহার করতে সেট করতে পারেন। উদাহরণস্বরূপ, আপনি দিনের সময় বা ডিভাইসের অন্দর বা বহিরঙ্গন ব্যবহারের উপর ভিত্তি করে মানচিত্রের রঙের স্কিমটি অন্ধকার বা হালকা করতে পারেন।
GMSMapView overrideUserInterfaceStyle:
মানচিত্র রঙের স্কিম সেট এবং আপডেট করতে।
সুইফট
let options = GMSMapViewOptions() // Map is init to use light mode by default. let mapView = GMSMapView(options: options) // Set map to use dark mode. mapView.overrideUserInterfaceStyle = .dark // Set map to use light mode. mapView.overrideUserInterfaceStyle = .light // Set map to use dark/light mode based on the value of traitCollection.userInterfaceStyle mapView.overrideUserInterfaceStyle = .unspecified
উদ্দেশ্য-C
GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; // Map is init to always use light mode. GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; // Set map to use dark mode. mapView.overrideUserInterfaceStyle = UIUserInterfaceStyleDark; // Set map to use light mode. mapView.overrideUserInterfaceStyle = UIUserInterfaceStyleLight; // Set map to use dark/light mode based on the value of traitCollection.userInterfaceStyle mapView.overrideUserInterfaceStyle = UIUserInterfaceStyleUnspecified;