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