एपीआई में मैप को GMSMapView
क्लास से दिखाया जाता है, जो UIView
की सबक्लास है. iOS के लिए Maps SDK में, मैप सबसे अहम ऑब्जेक्ट है. साथ ही, यह मार्कर और पॉलीलाइन जैसे अन्य ऑब्जेक्ट को जोड़ने, हटाने, और मैनेज करने के लिए ज़रूरी तरीके उपलब्ध कराता है.
परिचय
Maps SDK for iOS की मदद से, अपने iOS ऐप्लिकेशन में Google मैप दिखाया जा सकता है. ये मैप, Google Maps के iOS ऐप्लिकेशन में दिखने वाले मैप जैसे ही दिखते हैं. साथ ही, SDK टूल में भी कई ऐसी ही सुविधाएं होती हैं.
मैपिंग की सुविधा के अलावा, एपीआई कई तरह के इंटरैक्शन के साथ भी काम करता है. ये इंटरैक्शन, iOS यूज़र इंटरफ़ेस (यूआई) मॉडल के मुताबिक होते हैं. उदाहरण के लिए, मैप के साथ इंटरैक्शन सेट अप करने के लिए, उपयोगकर्ता के जेस्चर (जैसे, टैप और डबल-टैप) पर प्रतिक्रिया देने वाले रिस्पॉन्सर्स तय किए जा सकते हैं.
Map ऑब्जेक्ट के साथ काम करते समय, GMSMapView
क्लास मुख्य क्लास होती है.
GMSMapView
, इन कार्रवाइयों को अपने-आप मैनेज करता है:
- Google Maps की सेवा से कनेक्ट किया जा रहा है.
- मैप की टाइल डाउनलोड हो रही हैं.
- डिवाइस की स्क्रीन पर टाइल दिखाना.
- पैन और ज़ूम जैसे अलग-अलग कंट्रोल दिखाना.
- मैप को पैन और ज़ूम करने के जेस्चर का जवाब देना. इसके लिए, मैप को आगे-पीछे और ज़ूम इन या ज़ूम आउट किया जाता है.
- मैप के व्यू ऐंगल को झुकाकर, दो उंगलियों से किए जाने वाले जेस्चर का जवाब देना.
इन ऑटोमैटिक ऑपरेशन के अलावा, GMSMapView
क्लास की प्रॉपर्टी और तरीकों की मदद से, मैप के व्यवहार और दिखने के तरीके को कंट्रोल किया जा सकता है. GMSMapView
की मदद से, मार्कर, ग्राउंड ओवरले, और पॉलीलाइन जोड़ी और हटाई जा सकती हैं. साथ ही, मैप के टाइप को बदला जा सकता है. इसके अलावा, GMSCameraPosition
क्लास की मदद से, मैप पर दिखने वाली चीज़ों को कंट्रोल किया जा सकता है.
SwiftUI की मदद से Maps बनाएं
SwiftUI, एलान वाले तरीके का इस्तेमाल करके यूज़र इंटरफ़ेस (यूआई) बनाने का एक और तरीका उपलब्ध कराता है. SwiftUI को यह बताया जाता है कि आपको अपने व्यू को कैसा दिखना चाहिए. साथ ही, इसके लिए सभी अलग-अलग स्थितियों के बारे में भी बताया जाता है. बाकी काम सिस्टम करता है. जब किसी इवेंट या उपयोगकर्ता की कार्रवाई की वजह से, मौजूदा स्थिति में बदलाव होता है, तो SwiftUI व्यू को अपडेट करता है.
Maps SDK for iOS, UIKit
के आधार पर बनाया गया है. इसमें SwiftUI के साथ काम करने वाला व्यू नहीं मिलता. SwiftUI में मैप जोड़ने के लिए, UIViewRepresentable
या UIViewControllerRepresentable
में से किसी एक का पालन करना ज़रूरी है. ज़्यादा जानने के लिए, SwiftUI की मदद से अपने iOS ऐप्लिकेशन में मैप जोड़ना कोडलैब देखें.
मैप जोड़ना
मैप जोड़ने का बुनियादी तरीका यह है:
एसडीके पाने, एपीआई पासकोड पाने, और ज़रूरी फ़्रेमवर्क जोड़ने के लिए, यहां दिया गया तरीका अपनाएं:
अपने
AppDelegate
में,GMSServices
परprovideAPIKey:
क्लास के तरीके में अपनी एपीआई कुंजी दें.ViewController
बनाएं या अपडेट करें. अगर यह व्यू कंट्रोलर दिखने पर मैप दिखता है, तो इसेviewDidLoad
तरीके से बनाएं.मैप व्यू को शुरू करते समय,
GMSMapViewOptions
की मदद से कॉन्फ़िगरेशन के विकल्प सेट करें. प्रॉपर्टी मेंframe
,camera
,mapID
,backgroundColor
याscreen
शामिल हैं.मैप के विकल्प
camera
प्रॉपर्टी कोGMSCameraPosition
ऑब्जेक्ट के साथ सेट करें. इससे मैप के सेंटर और ज़ूम लेवल के बारे में पता चलता है.GMSMapView
options:
तरीके का इस्तेमाल करके,GMSMapView
क्लास बनाएं और उसका इंस्टेंस बनाएं. अगर इस मैप का इस्तेमाल व्यू कंट्रोलर के सिर्फ़ एक व्यू के तौर पर किया जाना है, तो मैप के विकल्पframe
की डिफ़ॉल्ट वैल्यूCGRectZero
का इस्तेमाल व्यूframe
के तौर पर किया जा सकता है — मैप का साइज़ अपने-आप बदल जाता है.GMSMapView
ऑब्जेक्ट को व्यू कंट्रोलर के व्यू के तौर पर सेट करें. उदाहरण के लिए,self.view = mapView;
.
यहां दिए गए उदाहरण में, सिंगापुर के डाउनटाउन को केंद्र में रखकर, ऐप्लिकेशन में मैप जोड़ा गया है.
Swift
import GoogleMaps class MapObjects : UIViewController { override func viewDidLoad() { super.viewDidLoad() let options = GMSMapViewOptions() options.camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12) options.frame = self.view.bounds; let mapView = GMSMapView(options:options) self.view = mapView } }
Objective-C
- (void)viewDidLoad { [super viewDidLoad]; GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init]; options.camera = [GMSCameraPosition cameraWithLatitude:1.285 longitude:103.848 zoom:12]; options.frame = self.view.bounds; GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; self.view = mapView; }
इन चरणों को पूरा करने के बाद, GMSMapView
ऑब्जेक्ट को और कॉन्फ़िगर किया जा सकता है.
आगे क्या करना है
ये चरण पूरे करने के बाद, मैप की सेटिंग कॉन्फ़िगर की जा सकती हैं.