मैप जोड़ना

प्लैटफ़ॉर्म चुनें: Android iOS JavaScript

एपीआई में 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 ऐप्लिकेशन में मैप जोड़ना कोडलैब देखें.

मैप जोड़ना

मैप जोड़ने के बुनियादी चरण ये हैं:

  1. एसडीके पाने, एपीआई पासकोड पाने, और ज़रूरी फ़्रेमवर्क जोड़ने के लिए, यहां दिया गया तरीका अपनाएं:

    1. Google Cloud Console में सेट अप करना

    2. एपीआई पासकोड का इस्तेमाल करना

    3. Xcode प्रोजेक्ट सेट अप करना

    4. अपने AppDelegate में, GMSServices पर provideAPIKey: क्लास के तरीके को अपनी एपीआई पासकोड दें.

    5. ViewController बनाएं या अपडेट करें. अगर यह व्यू कंट्रोलर दिखने पर मैप दिखता है, तो इसे viewDidLoad तरीके से बनाएं.

    6. मैप व्यू को शुरू करते समय, GMSMapViewOptions की मदद से कॉन्फ़िगरेशन के विकल्प सेट करें. प्रॉपर्टी में frame, camera, mapID,backgroundColor या screen शामिल हैं.

    7. मैप के विकल्प camera प्रॉपर्टी को GMSCameraPosition ऑब्जेक्ट के साथ सेट करें. इससे मैप के बीच और ज़ूम लेवल के बारे में पता चलता है.

    8. GMSMapView options: तरीके का इस्तेमाल करके, GMSMapView क्लास बनाएं और उसका इंस्टेंस बनाएं. अगर इस मैप का इस्तेमाल व्यू कंट्रोलर के सिर्फ़ एक व्यू के तौर पर करना है, तो मैप के विकल्प frame की डिफ़ॉल्ट वैल्यू CGRectZero का इस्तेमाल व्यू frame के तौर पर किया जा सकता है — मैप का साइज़ अपने-आप बदल जाता है.

    9. 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 ऑब्जेक्ट को और कॉन्फ़िगर किया जा सकता है.

आगे क्या करना है

यह तरीका अपनाने के बाद, मैप की सेटिंग कॉन्फ़िगर की जा सकती हैं.