एपीआई में 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
बनाएं या अपडेट करें. अगर व्यू कंट्रोलर के दिखने पर मैप दिखेगा, तो इसेloadView
तरीके से ही बनाएं.ऐसा
GMSCameraPosition
ऑब्जेक्ट बनाएं जो मैप के सेंटर और ज़ूम लेवल के बारे में बताता हो.GMSMapView
ऑब्जेक्ट को इंस्टैंशिएट करते समय, आपकोGMSCameraPosition
ऑब्जेक्ट को ज़रूरी पैरामीटर के तौर पर पास करना होगा.GMSMapView
mapWithFrame:
तरीके का इस्तेमाल करके,GMSMapView
क्लास बनाएं और उसे इंस्टैंशिएट करें. अगर इस मैप का इस्तेमाल सिर्फ़ व्यू कंट्रोलर के व्यू के तौर पर किया जाना है, तोCGRectZero
को मैप के फ़्रेम के तौर पर इस्तेमाल किया जा सकता है — मैप का साइज़ अपने-आप बदल जाएगा.GMSMapView
ऑब्जेक्ट को व्यू कंट्रोलर के व्यू के तौर पर सेट करें, जैसे किself.view = mapView;
.
नीचे दिए गए उदाहरण में एक ऐप्लिकेशन में एक मैप जोड़ा गया है, जो सिंगापुर के कारोबारी इलाके के बीच में है.
Swift
import GoogleMaps class MapObjects : UIViewController { override func viewDidLoad() { super.viewDidLoad() let camera = GMSCameraPosition(latitude: 1.285, longitude: 103.848, zoom: 12) let mapView = GMSMapView(frame: .zero, camera: camera) self.view = mapView } }
Objective-C
#import "MapObjects.h" @import GoogleMaps; @implementation MapObjects - (void)viewDidLoad { [super viewDidLoad]; GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:1.285 longitude:103.848 zoom:12]; GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; self.view = mapView; } @end
यह तरीका अपनाने के बाद, GMSMapView
ऑब्जेक्ट को और ज़्यादा कॉन्फ़िगर किया जा सकता है.
आगे क्या करना है
इन चरणों को पूरा करने के बाद, आप मैप की सेटिंग कॉन्फ़िगर कर सकते हैं.