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