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