एक मैप जोड़ें

प्लैटफ़ॉर्म चुनें: 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 की मदद से Maps बनाएं

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

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

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