अपनी प्रोफ़ाइल बनाना शुरू करें
सैंपल कोड आज़माने से पहले, आपको अपना डेवलपमेंट एनवायरमेंट कॉन्फ़िगर करना होगा. ज़्यादा जानकारी के लिए, iOS के लिए Maps SDK टूल के कोड सैंपल देखें.
कोड देखना
Swift
import GoogleMaps import UIKit class GestureControlViewController: UIViewController { private let holderHeight: CGFloat = 60 private let zoomLabelInset: CGFloat = 16 private lazy var mapView: GMSMapView = { let camera = GMSCameraPosition(latitude: -25.5605, longitude: 133.605097, zoom: 3) return GMSMapView(frame: .zero, camera: camera) }() private lazy var zoomSwitch: UISwitch = UISwitch(frame: .zero) override func viewDidLoad() { super.viewDidLoad() view.addSubview(mapView) let holder = UIView(frame: .zero) holder.backgroundColor = UIColor(white: 1, alpha: 0.8) view.addSubview(holder) let zoomLabel = UILabel(frame: .zero) zoomLabel.text = "Zoom gestures" zoomLabel.font = .boldSystemFont(ofSize: 18) holder.addSubview(zoomLabel) // Control zooming. holder.addSubview(zoomSwitch) zoomSwitch.addTarget(self, action: #selector(toggleZoom), for: .valueChanged) zoomSwitch.isOn = true [mapView, holder, zoomLabel, zoomSwitch].forEach({ $0.translatesAutoresizingMaskIntoConstraints = false }) NSLayoutConstraint.activate([ mapView.leftAnchor.constraint(equalTo: view.leftAnchor), mapView.rightAnchor.constraint(equalTo: view.rightAnchor), mapView.topAnchor.constraint(equalTo: view.topAnchor), mapView.bottomAnchor.constraint(equalTo: view.bottomAnchor), holder.heightAnchor.constraint(equalToConstant: holderHeight), holder.centerXAnchor.constraint(equalTo: view.centerXAnchor), holder.widthAnchor.constraint(equalTo: view.widthAnchor), zoomLabel.leftAnchor.constraint(equalTo: holder.leftAnchor, constant: zoomLabelInset), zoomLabel.centerYAnchor.constraint(equalTo: holder.centerYAnchor), zoomSwitch.rightAnchor.constraint(equalTo: holder.rightAnchor, constant: -zoomLabelInset), zoomSwitch.centerYAnchor.constraint( equalTo: holder.centerYAnchor), ]) NSLayoutConstraint.activate([ holder.topAnchor.constraint(equalTo: self.view.safeAreaLayoutGuide.topAnchor) ]) } @objc func toggleZoom() { mapView.settings.zoomGestures = zoomSwitch.isOn } }
Objective-C
#import "GoogleMapsDemos/Samples/GestureControlViewController.h" #import <GoogleMaps/GoogleMaps.h> @implementation GestureControlViewController { GMSMapView *_mapView; UISwitch *_zoomSwitch; } - (void)viewDidLoad { [super viewDidLoad]; GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-25.5605 longitude:133.605097 zoom:3]; _mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera]; _mapView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; _mapView.accessibilityIdentifier = @"gestureControlDemoMapView"; self.view = [[UIView alloc] initWithFrame:CGRectZero]; [self.view addSubview:_mapView]; UIView *holder = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 59)]; holder.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleBottomMargin; holder.backgroundColor = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:0.8f]; [self.view addSubview:holder]; // Zoom label. UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(16, 16, 200, 29)]; label.text = @"Zooming?"; label.font = [UIFont boldSystemFontOfSize:18.0f]; label.textAlignment = NSTextAlignmentLeft; label.backgroundColor = [UIColor clearColor]; label.layer.shadowColor = [[UIColor whiteColor] CGColor]; label.layer.shadowOffset = CGSizeMake(0.0f, 1.0f); label.layer.shadowOpacity = 1.0f; label.layer.shadowRadius = 0.0f; [holder addSubview:label]; // Control zooming. _zoomSwitch = [[UISwitch alloc] initWithFrame:CGRectMake(-90, 16, 0, 0)]; _zoomSwitch.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin; [_zoomSwitch addTarget:self action:@selector(didChangeZoomSwitch) forControlEvents:UIControlEventValueChanged]; _zoomSwitch.on = YES; [holder addSubview:_zoomSwitch]; } - (void)didChangeZoomSwitch { _mapView.settings.zoomGestures = _zoomSwitch.isOn; } @end
सैंपल ऐप्लिकेशन को स्थानीय तौर पर चलाना
iOS के लिए Maps SDK का सैंपल ऐप्लिकेशन, GitHub से डाउनलोड किए गए संग्रह के तौर पर उपलब्ध है. iOS के लिए Maps SDK टूल के सैंपल ऐप्लिकेशन को इंस्टॉल करने और आज़माने के लिए, यह तरीका अपनाएं.
- सैंपल के रिपॉज़िटरी को किसी लोकल डायरेक्ट्री में क्लोन करने के लिए,
git clone https://github.com/googlemaps-samples/maps-sdk-for-ios-samples.git
चालू करें. टर्मिनल विंडो खोलें और उस डायरेक्ट्री पर जाएं जहां आपने सैंपल फ़ाइलों का क्लोन बनाया है. इसके बाद, Google Maps डायरेक्ट्री में ड्रिल-डाउन करें:
Swift
cd maps-sdk-for-ios-samples-main/GoogleMaps-Swift
pod install
open GoogleMapsSwiftDemos.xcworkspace
Objective-C
cd maps-sdk-for-ios-samples-main/GoogleMaps
pod install
open GoogleMapsDemos.xcworkspace
- मौजूदा स्कीम का इस्तेमाल करके, ऐप्लिकेशन बनाने के लिए, Xcode में 'कंपाइल करें' बटन दबाएं. बिल्ड करने पर गड़बड़ी का मैसेज दिखता है. इसमें आपको Swift के लिए
SDKConstants.swift
फ़ाइल या Objective-C के लिएSDKDemoAPIKey.h
फ़ाइल में अपनी एपीआई कुंजी डालने के लिए कहा जाता है. - अगर आपके पास अब तक एपीआई पासकोड नहीं है, तो Google Cloud Console पर प्रोजेक्ट सेट अप करने और एपीआई पासकोड पाने के लिए, दिए गए निर्देशों का पालन करें. Cloud Console पर पासकोड को कॉन्फ़िगर करते समय, सैंपल ऐप्लिकेशन के बंडल आइडेंटिफ़ायर के लिए पासकोड पर पाबंदी लगाई जा सकती है. इससे यह पक्का किया जा सकता है कि सिर्फ़ आपका ऐप्लिकेशन ही पासकोड का इस्तेमाल कर सके. SDK टूल के सैंपल ऐप्लिकेशन का डिफ़ॉल्ट बंडल आइडेंटिफ़ायर
com.example.GoogleMapsDemos
है. - Swift के लिए
SDKConstants.swift
फ़ाइल या Objective-C के लिएSDKDemoAPIKey.h
फ़ाइल में बदलाव करें. इसके बाद, अपनी एपीआई कुंजी कोapiKey
याkAPIKey
कॉन्स्टेंट की परिभाषा में चिपकाएं. उदाहरण के लिए:Swift
static let apiKey = "YOUR_API_KEY"
Objective-C
static NSString *const kAPIKey = @"YOUR_API_KEY";
SDKConstants.swift
फ़ाइल (Swift) याSDKDemoAPIKey.h
फ़ाइल (Objective-C) में, यह लाइन हटाएं, क्योंकि इसका इस्तेमाल उपयोगकर्ता की बताई गई समस्या को रजिस्टर करने के लिए किया जाता है:Swift
#error (Register for API Key and insert here. Then delete this line.)
Objective-C
#error Register for API Key and insert here.
- प्रोजेक्ट बनाएं और चलाएं. iOS सिम्युलेटर विंडो दिखती है, जिसमें Maps SDK टूल के डेमो की सूची दिखती है.
- iOS के लिए Maps SDK टूल की किसी सुविधा को आज़माने के लिए, दिखाए गए विकल्पों में से कोई एक चुनें.
- अगर आपसे GoogleMapsDemos को अपनी जगह की जानकारी ऐक्सेस करने की अनुमति देने के लिए कहा जाए, तो अनुमति दें को चुनें.