एक मैप जोड़ें

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

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

मैप जोड़ना

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

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

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

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

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