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