मार्कर के साथ मैप जोड़ना

इस ट्यूटोरियल में, iOS ऐप्लिकेशन पर Google मैप जोड़ने का तरीका बताया गया है. किसी खास जगह को दिखाने के लिए, मैप में एक मार्कर होता है, जिसे पिन भी कहा जाता है.

कोड पाना

GitHub से Google Maps iOS सैंपल रिपॉज़िटरी का क्लोन बनाएं या डाउनलोड करें.

आपका डेवलपमेंट प्रोजेक्ट सेट अप किया जा रहा है

iOS के लिए Maps SDK टूल इंस्टॉल करने के लिए, यह तरीका अपनाएं:

  1. Xcode 14.0 वर्शन या इसके बाद के वर्शन को डाउनलोड और इंस्टॉल करें.
  2. अगर आपके पास पहले से CocoaPods नहीं है, तो टर्मिनल से नीचे दिए गए कमांड को चलाकर, macOS पर इसे इंस्टॉल करें:
    sudo gem install cocoapods
  3. Google Maps iOS सैंपल डेटा स्टोर करने की जगह का क्लोन बनाएं या डाउनलोड करें.
  4. tutorials/map-with-marker डायरेक्ट्री पर जाएं.
  5. pod install निर्देश चलाएं. इससे Podfile में बताए गए एपीआई इंस्टॉल हो जाएंगे. साथ ही, उनकी डिपेंडेंसी भी इंस्टॉल हो जाएगी.
  6. इंस्टॉल किए गए पॉड वर्शन की तुलना किसी भी नए अपडेट से करने के लिए, pod outdated चलाएं. अगर नए वर्शन का पता चलता है, तो Podfile को अपडेट करने के लिए pod update चलाएं और SDK टूल का सबसे नया वर्शन इंस्टॉल करें. ज़्यादा जानकारी के लिए, CocoaPods गाइड देखें.
  7. प्रोजेक्ट की map-with-mark.xcworkspace फ़ाइल को Xcode में खोलने के लिए, उसे दो बार क्लिक करें. प्रोजेक्ट खोलने के लिए, आपको .xcworkspace फ़ाइल का इस्तेमाल करना होगा.

एपीआई पासकोड पाना और ज़रूरी एपीआई चालू करना

इस ट्यूटोरियल को पूरा करने के लिए, आपको Google API पासकोड की ज़रूरत होगी. इसके पास, iOS के लिए Maps SDK टूल का इस्तेमाल करने की अनुमति होनी चाहिए. कुंजी पाने और एपीआई को चालू करने के लिए नीचे दिए गए बटन पर क्लिक करें.

इस्तेमाल शुरू करना

ज़्यादा जानकारी के लिए, एपीआई पासकोड पाना लेख पढ़ें.

अपने ऐप्लिकेशन में एपीआई पासकोड जोड़ें

अपने एपीआई पासकोड को AppDelegate.swift में इस तरह जोड़ें:

  1. ध्यान दें कि फ़ाइल में यह इंपोर्ट स्टेटमेंट जोड़ा गया है:
    import GoogleMaps
  2. अपने application(_:didFinishLaunchingWithOptions:) तरीके में, नीचे दी गई लाइन में बदलाव करें. साथ ही, Your_API_KEY को अपने एपीआई पासकोड से बदलें:
    GMSServices.provideAPIKey("YOUR_API_KEY")

अपना ऐप्लिकेशन बनाना और उसे इस्तेमाल करना

  1. किसी iOS डिवाइस को अपने कंप्यूटर से कनेक्ट करें या Xcode स्कीम पॉप-अप मेन्यू से, कोई सिम्युलेटर चुनें.
  2. अगर किसी डिवाइस का इस्तेमाल किया जा रहा है, तो पक्का करें कि जगह की जानकारी की सेटिंग चालू हो. अगर आप सिम्युलेटर का इस्तेमाल कर रहे हैं, तो सुविधाएं मेन्यू से जगह चुनें.
  3. Xcode में, मेन्यू के विकल्प प्रॉडक्ट/चलाएं विकल्प (या चलाएं बटन आइकॉन) पर क्लिक करें.
    • Xcode से ऐप्लिकेशन बनता है. इसके बाद, यह ऐप्लिकेशन को डिवाइस या सिम्युलेटर पर चलाता है.
    • आपको ऑस्ट्रेलिया के पूर्वी तट पर सिडनी पर केंद्रित मार्कर के साथ एक मैप दिखेगा, जो इस पेज पर मौजूद इमेज जैसा है.

समस्या का हल:

  • अगर आपको मैप नहीं दिखता है, तो देखें कि आपने एपीआई पासकोड लिया है या नहीं और उसे ऐप्लिकेशन में जोड़ा है या नहीं, जैसा कि ऊपर बताया गया है. एपीआई पासकोड के बारे में गड़बड़ी के मैसेज देखने के लिए, Xcode के डीबग करने वाले कंसोल को देखें.
  • अगर आपने iOS बंडल आइडेंटिफ़ायर से एपीआई पासकोड को सीमित किया है, तो ऐप्लिकेशन के लिए बंडल आइडेंटिफ़ायर जोड़ने के लिए, कुंजी में बदलाव करें: com.google.examples.map-with-marker.
  • पक्का करें कि आपके पास अच्छा वाई-फ़ाई या जीपीएस कनेक्शन हो.
  • लॉग देखने और ऐप्लिकेशन को डीबग करने के लिए, Xcode डीबग करने वाले टूल का इस्तेमाल करें.

कोड को समझना

  1. मैप बनाएं और उसे loadView() में व्यू के तौर पर सेट करें.

    Swift

    // Create a GMSCameraPosition that tells the map to display the
    // coordinate -33.86,151.20 at zoom level 6.
    let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
    let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
    view = mapView
          

    Objective-C

    // Create a GMSCameraPosition that tells the map to display the
    // coordinate -33.86,151.20 at zoom level 6.
    GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.86
                                                            longitude:151.20
                                                                 zoom:6.0];
    GMSMapView *mapView = [[GMSMapView alloc] initWithFrame: CGRectZero camera:camera];
    self.view = mapView;
          
  2. loadView() में मैप पर एक मार्कर जोड़ें.

    Swift

    // Creates a marker in the center of the map.
    let marker = GMSMarker()
    marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
    marker.title = "Sydney"
    marker.snippet = "Australia"
    marker.map = mapView
          

    Objective-C

    // Creates a marker in the center of the map.
    GMSMarker *marker = [[GMSMarker alloc] init];
    marker.position = CLLocationCoordinate2DMake(-33.86, 151.20);
    marker.title = @"Sydney";
    marker.snippet = @"Australia";
    marker.map = mapView;
          

डिफ़ॉल्ट रूप से, जब उपयोगकर्ता किसी मार्कर पर टैप करता है, तब iOS के लिए Maps SDK टूल, जानकारी विंडो का कॉन्टेंट दिखाता है. अगर आप डिफ़ॉल्ट व्यवहार का इस्तेमाल करके खुश हैं, तो मार्कर के लिए क्लिक लिसनर जोड़ने की ज़रूरत नहीं है.

बधाई हो! आपने एक ऐसा iOS ऐप्लिकेशन बनाया है जो किसी खास जगह को दिखाने के लिए, मार्कर के साथ Google मैप दिखाता है. आपने iOS के लिए Maps SDK टूल को इस्तेमाल करने का तरीका भी सीखा है.

अगले चरण

मैप ऑब्जेक्ट के बारे में ज़्यादा जानें. साथ ही, यह भी जानें कि मार्कर की मदद से क्या किया जा सकता है.