एपीआई में मैप को GMSMapView क्लास से दिखाया जाता है. यह UIView की सबक्लास है. iOS के लिए Maps SDK में, मैप सबसे अहम ऑब्जेक्ट है. यह मार्कर और पॉलीलाइन जैसे अन्य ऑब्जेक्ट जोड़ने, हटाने, और मैनेज करने के लिए ज़रूरी तरीके उपलब्ध कराता है.
परिचय
iOS के लिए Maps SDK की मदद से, अपने iOS ऐप्लिकेशन में Google मैप दिखाया जा सकता है. ये मैप, Google Maps के iOS ऐप्लिकेशन में दिखने वाले मैप जैसे ही होते हैं. साथ ही, एसडीके में भी कई मिलती-जुलती सुविधाएं होती हैं.
मैपिंग की सुविधा के अलावा, एपीआई कई तरह के इंटरैक्शन के साथ भी काम करता है. ये इंटरैक्शन, iOS यूज़र इंटरफ़ेस (यूआई) मॉडल के मुताबिक होते हैं. उदाहरण के लिए, मैप के साथ इंटरैक्शन सेट अप किए जा सकते हैं. इसके लिए, आपको ऐसे रिस्पॉंडर तय करने होंगे जो उपयोगकर्ता के जेस्चर पर प्रतिक्रिया देते हैं. जैसे, टैप करना और दो बार टैप करना.
मैप ऑब्जेक्ट के साथ काम करते समय, मुख्य क्लास GMSMapView क्लास होती है.
GMSMapView इन कार्रवाइयों को अपने-आप मैनेज करता है:
- Google Maps की सेवा से कनेक्ट किया जा रहा है.
- मैप टाइल डाउनलोड की जा रही हैं.
- डिवाइस की स्क्रीन पर टाइल दिखाना.
- इसमें पैन और ज़ूम करने जैसे अलग-अलग कंट्रोल दिखाए जाते हैं.
- मैप को मूव करके और ज़ूम इन या ज़ूम आउट करके, पैन और ज़ूम करने के जेस्चर का जवाब देना.
- दो उंगलियों से किए जाने वाले जेस्चर का जवाब देने के लिए, मैप के व्यू ऐंगल को झुकाना.
इन ऑटोमैटिक कार्रवाइयों के अलावा, GMSMapView क्लास की प्रॉपर्टी और तरीकों का इस्तेमाल करके, मैप के काम करने के तरीके और उसके दिखने के तरीके को कंट्रोल किया जा सकता है. GMSMapView का इस्तेमाल करके, मार्कर, ग्राउंड ओवरले, और पॉलीलाइन जोड़ें और हटाएं. साथ ही, दिखाए जा रहे मैप का टाइप बदलें. इसके अलावा, GMSCameraPosition क्लास का इस्तेमाल करके, मैप पर दिखने वाले कॉन्टेंट को कंट्रोल करें.
SwiftUI की मदद से मैप बनाएं
SwiftUI, डिक्लेरेटिव तरीके का इस्तेमाल करके यूज़र इंटरफ़ेस (यूआई) बनाने का एक और तरीका उपलब्ध कराता है. आपको SwiftUI को बताना होता है कि आपको अपना व्यू कैसा दिखाना है. साथ ही, आपको इसके लिए अलग-अलग स्टेटस भी बताने होते हैं. इसके बाद, सिस्टम बाकी काम करता है. जब भी किसी इवेंट या उपयोगकर्ता की कार्रवाई की वजह से, मौजूदा स्थिति में बदलाव होता है, तो SwiftUI व्यू को अपडेट करता है.
iOS के लिए Maps SDK, UIKit पर आधारित है. साथ ही, यह SwiftUI के साथ काम करने वाला व्यू नहीं देता. SwiftUI में मैप जोड़ने के लिए, UIViewRepresentable या UIViewControllerRepresentable का इस्तेमाल करना ज़रूरी है. ज़्यादा जानने के लिए, Codelab SwiftUI की मदद से अपने iOS ऐप्लिकेशन में मैप जोड़ना देखें.
मैप जोड़ना
मैप जोड़ने के बुनियादी चरण यहां दिए गए हैं:
एसडीके पाने, एपीआई पासकोड हासिल करने, और ज़रूरी फ़्रेमवर्क जोड़ने के लिए, यहां दिया गया तरीका अपनाएं:
अपने
AppDelegateमें,GMSServicesपर मौजूदprovideAPIKey:क्लास के तरीके को अपना एपीआई पासकोड दें.ViewControllerबनाएं या उसे अपडेट करें. अगर यह व्यू कंट्रोलर दिखने पर मैप दिखता है, तो इसेviewDidLoadतरीके में बनाना न भूलें.मैप व्यू को शुरू करते समय,
GMSMapViewOptionsकी मदद से कॉन्फ़िगरेशन के विकल्प सेट करें. प्रॉपर्टी मेंframe,camera,mapID,backgroundColorयाscreenशामिल हैं.GMSCameraPositionऑब्जेक्ट की मदद से, मैप के विकल्पcameraप्रॉपर्टी सेट करें. इससे मैप के सेंटर और ज़ूम करने के लेवल के बारे में पता चलता है.GMSMapViewoptions:तरीके का इस्तेमाल करके,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 ऑब्जेक्ट को और कॉन्फ़िगर किया जा सकता है.
आगे क्या करना है
इन चरणों को पूरा करने के बाद, मैप की सेटिंग कॉन्फ़िगर की जा सकती हैं.