एपीआई में Maps को GMSMapView
क्लास से दिखाया जाता है, जो UIView
की सबक्लास है. iOS के लिए Maps SDK में, मैप सबसे अहम ऑब्जेक्ट है. साथ ही, यह मार्कर और पॉलीलाइन जैसे अन्य ऑब्जेक्ट को जोड़ने, हटाने, और मैनेज करने के लिए ज़रूरी तरीके उपलब्ध कराता है.
परिचय
iOS के लिए Maps SDK टूल की मदद से, अपने 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
ऑब्जेक्ट को और कॉन्फ़िगर किया जा सकता है.
आगे क्या करना है
यह तरीका अपनाने के बाद, मैप की सेटिंग कॉन्फ़िगर की जा सकती हैं.