मैप जोड़ना

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

एपीआई में मैप को GMSMapView क्लास से दिखाया जाता है. यह UIView की सबक्लास है. iOS के लिए Maps SDK में, मैप सबसे अहम ऑब्जेक्ट है. यह मार्कर और पॉलीलाइन जैसे अन्य ऑब्जेक्ट जोड़ने, हटाने, और मैनेज करने के लिए ज़रूरी तरीके उपलब्ध कराता है.

परिचय

iOS के लिए Maps SDK की मदद से, अपने iOS ऐप्लिकेशन में Google मैप दिखाया जा सकता है. ये मैप, Google Maps के iOS ऐप्लिकेशन में दिखने वाले मैप जैसे ही होते हैं. साथ ही, एसडीके में भी कई मिलती-जुलती सुविधाएं होती हैं.

मैपिंग की सुविधा के अलावा, एपीआई कई तरह के इंटरैक्शन के साथ भी काम करता है. ये इंटरैक्शन, iOS यूज़र इंटरफ़ेस (यूआई) मॉडल के मुताबिक होते हैं. उदाहरण के लिए, मैप के साथ इंटरैक्शन सेट अप किए जा सकते हैं. इसके लिए, आपको ऐसे रिस्पॉंडर तय करने होंगे जो उपयोगकर्ता के जेस्चर पर प्रतिक्रिया देते हैं. जैसे, टैप करना और दो बार टैप करना.

मैप ऑब्जेक्ट के साथ काम करते समय, मुख्य क्लास GMSMapView क्लास होती है. GMSMapView इन कार्रवाइयों को अपने-आप मैनेज करता है:

  • Google Maps की सेवा से कनेक्ट किया जा रहा है.
  • मैप टाइल डाउनलोड की जा रही हैं.
  • डिवाइस की स्क्रीन पर टाइल दिखाना.
  • इसमें पैन और ज़ूम करने जैसे अलग-अलग कंट्रोल दिखाए जाते हैं.
  • मैप को मूव करके और ज़ूम इन या ज़ूम आउट करके, पैन और ज़ूम करने के जेस्चर का जवाब देना.
    • दो उंगलियों से किए जाने वाले जेस्चर का जवाब देने के लिए, मैप के व्यू ऐंगल को झुकाना.

इन ऑटोमैटिक कार्रवाइयों के अलावा, GMSMapView क्लास की प्रॉपर्टी और तरीकों का इस्तेमाल करके, मैप के काम करने के तरीके और उसके दिखने के तरीके को कंट्रोल किया जा सकता है. GMSMapView का इस्तेमाल करके, मार्कर, ग्राउंड ओवरले, और पॉलीलाइन जोड़ें और हटाएं. साथ ही, दिखाए जा रहे मैप का टाइप बदलें. इसके अलावा, GMSCameraPosition क्लास का इस्तेमाल करके, मैप पर दिखने वाले कॉन्टेंट को कंट्रोल करें.

SwiftUI की मदद से मैप बनाएं

SwiftUI, डिक्लेरेटिव तरीके का इस्तेमाल करके यूज़र इंटरफ़ेस (यूआई) बनाने का एक और तरीका उपलब्ध कराता है. आपको SwiftUI को बताना होता है कि आपको अपना व्यू कैसा दिखाना है. साथ ही, आपको इसके लिए अलग-अलग स्टेटस भी बताने होते हैं. इसके बाद, सिस्टम बाकी काम करता है. जब भी किसी इवेंट या उपयोगकर्ता की कार्रवाई की वजह से, मौजूदा स्थिति में बदलाव होता है, तो SwiftUI व्यू को अपडेट करता है.

iOS के लिए Maps SDK, UIKit पर आधारित है. साथ ही, यह SwiftUI के साथ काम करने वाला व्यू नहीं देता. SwiftUI में मैप जोड़ने के लिए, UIViewRepresentable या UIViewControllerRepresentable का इस्तेमाल करना ज़रूरी है. ज़्यादा जानने के लिए, Codelab 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. GMSCameraPosition ऑब्जेक्ट की मदद से, मैप के विकल्प camera प्रॉपर्टी सेट करें. इससे मैप के सेंटर और ज़ूम करने के लेवल के बारे में पता चलता है.

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

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

इन चरणों को पूरा करने के बाद, मैप की सेटिंग कॉन्फ़िगर की जा सकती हैं.