एक मैप कॉन्फ़िगर करें

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

इस खास जानकारी में, iOS ऐप्लिकेशन में जोड़े गए मैप को कॉन्फ़िगर करने का तरीका बताया गया है iOS के लिए Maps SDK का इस्तेमाल करके.

खास जानकारी

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

शुरुआती मैप सेटिंग में ये शामिल हैं:

रनटाइम पर, इन सेटिंग और अतिरिक्त सेटिंग को कॉन्फ़िगर किया जा सकता है अपडेट कर रहा है GMSMapView ऑब्जेक्ट है.

मैप के विकल्प

अपना मैप व्यू शुरू करते समय, कॉन्फ़िगरेशन विकल्प GMSMapViewOptions. विकल्प प्रॉपर्टी में frame, camera, mapID या backgroundColor.

मैप विकल्प
फ़्रेम
वैल्यू:CGRect
मैप का फ़्रेम. डिफ़ॉल्ट रूप से, CGRectZero पर सेट होती है.
कैमरा
वैल्यू:GMSCameraPosition
मैप पर कैमरे की डिफ़ॉल्ट स्थिति.
mapID
वैल्यू:GMSMapID
Google मैप आईडी. वैकल्पिक पैरामीटर.
backgroundColor
वैल्यू:UIColor
डिफ़ॉल्ट तौर पर UIColor.lightGray

मैप के विकल्प कॉन्फ़िगर करें

आप या तो अपनी विकल्प प्रॉपर्टी सेट कर सकते हैं या इंस्टैंशिएट की गई GMSMapViewOptions, जिसकी डिफ़ॉल्ट वैल्यू सीधे GMSMapView पर सेट होती हैं.

Swift

let options = GMSMapViewOptions()
options.camera = GMSCameraPosition.camera(withLatitude: -33.8683, longitude: 151.2086, zoom: 6)
let mapView = GMSMapView(options:options)

Objective-C

GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
options.camera = [GMSCameraPosition cameraWithLatitude:-33.8683
                                                        longitude:151.2086
                                                             zoom:6];
GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];

यहां GMSMapViewOptions ऑब्जेक्ट को डिफ़ॉल्ट वैल्यू के साथ पास करने का उदाहरण दिया गया है सीधे GMSMapView पर भेजा जाएगा.

Swift

let options = GMSMapViewOptions()
let mapView = GMSMapView(options:options) //initialized with default values

Objective-C

GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options]; //initialized with default values

बैकग्राउंड का रंग कॉन्फ़िगर करें

गहरे रंग वाले मोड में काम करते समय या मैप व्यू के बीच स्विच करते समय, इन कामों के लिए यह विकल्प मैप के डिफ़ॉल्ट बैकग्राउंड कलर को बदल देता है. ऐसा करने के लिए, मैप के विकल्प backgroundColor प्रॉपर्टी.

Swift

let options = GMSMapViewOptions()
options.backgroundColor = UIColor.yellowColor
let mapView = GMSMapView(options:options)

Objective-C

GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
options.backgroundColor = UIColor.yellowColor;
GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];

मैप के टाइप

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

मैप किस तरह का है
सामान्य
वैल्यू:kGMSTypeNormal
सामान्य रोड मैप. सड़कों को दिखाता है, जिनमें से कुछ सुविधाएं बनाई गई हैं: और नदियों जैसी महत्वपूर्ण प्राकृतिक विशेषताओं के बारे में बात करते हैं. सड़क और सुविधाओं के लेबल भी दिखते हैं. मैप कलर स्कीम को गहरे, हल्के, या सिस्टम की सेटिंग का पालन करें.
हाइब्रिड
वैल्यू:kGMSTypeHybrid
सैटलाइट मैप का डेटा जोड़ा गया, जिसमें रोड मैप जोड़े गए हैं. सड़क और सुविधा लेबल भी दिखते हैं.
सैटलाइट
वैल्यू:kGMSTypeSatellite
सैटलाइट की फ़ोटो का डेटा. सड़क और सुविधाओं के लेबल नहीं जोड़े गए हैं दृश्य.
इलाका
वैल्यू:kGMSTypeTerrain
टोपोग्राफ़िक डेटा. मैप में रंग, कॉन्टूर लाइनें, और लेबल शामिल होते हैं. और ऐंगल शेडिंग का इस्तेमाल करते हैं. कुछ सड़कें और लेबल भी दृश्यमान होते हैं. काम करता है मैप की कलर स्कीम को गहरे, हल्के रंग या सिस्टम की सेटिंग के हिसाब से सेट कर रही हूँ.
कोई नहीं
वैल्यू:kGMSTypeNone
कोई मैप टाइल नहीं है. बुनियादी मैप की टाइल रेंडर नहीं की जाएंगी. यह मोड है टाइल के साथ उपयोगी लेयर. जब मैप प्रकार कुछ नहीं पर सेट करें.

मैप का टाइप बदलना

मैप का टाइप सेट करने के लिए, GMSMapView.mapType को कोई नई वैल्यू असाइन करें प्रॉपर्टी. उदाहरण के लिए, सैटलाइट मैप का टाइप दिखाने के लिए:

Swift

let options = GMSMapViewOptions()
options.camera = GMSCameraPosition.camera(withLatitude: -33.8683, longitude: 151.2086, zoom: 6)
let mapView = GMSMapView(options:options)
mapView.mapType = .satellite

Objective-C

GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
options.camera = [GMSCameraPosition cameraWithLatitude:-33.8683
                                                  longitude:151.2086
                                                        zoom:6];
GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
mapView.mapType = kGMSTypeSatellite;

नीचे दिया गया सिलेक्टर समान स्थान:

इनडोर नक्शे

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

आप इसकी indoorEnabled प्रॉपर्टी सेट करके इनडोर मैप को बंद कर सकते हैं NO के लिए GMSMapView.

Swift

mapView.isIndoorEnabled = false
      

Objective-C

mapView.indoorEnabled = NO;
      

वैकल्पिक रूप से, आप केवल फ़्लोर पिकर कंट्रोल.

फ़्लोर प्लान जोड़े जा रहे हैं

फ़्लोर प्लान चुनिंदा इलाकों में उपलब्ध हैं जगहें. अगर उस इमारत के लिए फ़्लोर प्लान का डेटा उपलब्ध नहीं है जिसे आपको टारगेट करना है हाइलाइट किए गए हैं, तो आप ये काम कर सकते हैं:

  • मंज़िल जोड़ें प्लान सीधे Google Maps पर लिंक कर सकते हैं. इससे आपके प्लान, यहां बताए गए सभी उपयोगकर्ताओं के लिए उपलब्ध हो जाते हैं Google मैप.
  • किसी फ़्लोर प्लान को ग्राउंड ओवरले के तौर पर दिखाएं. इससे सिर्फ़ आपके फ़्लोर प्लान देखने के लिए आपके ऐप्लिकेशन के उपयोगकर्ता.

ट्रैफ़िक लेयर

आप अपने उपयोगकर्ताओं को ट्रैफ़िक घनत्व के साथ मैप देखने की क्षमता दे सकते हैं जानकारी उसके ऊपर सुपरइंपोज़्ड हो सकती है. इससे उपयोगकर्ताओं को इस तरह के व्यवहार की खास जानकारी मिलती है स्थानीय ट्रैफ़िक की स्थिति के बारे में जानना. आप यह trafficEnabled तरीका. नीचे दिया गया उदाहरण दिखाता है कि मैप पर ट्रैफ़िक लेयर कैसी दिख सकती है.

ट्रैफ़िक की जानकारी देने वाला Google मैप
लेयर

सुलभता

डिफ़ॉल्ट रूप से, मैप पर सुलभता एलिमेंट छिपाए जाते हैं. इन्हें चालू किया जा सकता है इसकी accessibilityElementsHidden प्रॉपर्टी को सेट करके सुलभता का इस्तेमाल करें NO के लिए GMSMapView. इस वजह से, सुलभता एलिमेंट अपने-आप जनरेट होते हैं ओवरले ऑब्जेक्ट (जैसे कि GMSMarker और जानकारी विंडो, GMSPolyline वगैरह).

Swift

mapView.accessibilityElementsHidden = false
      

Objective-C

mapView.accessibilityElementsHidden = NO;
      

यह प्रॉपर्टी, अनौपचारिक UIAccessibility प्रोटोकॉल के मुताबिक होती है. हालांकि, iOS के लिए Maps SDK में डिफ़ॉल्ट मान YES है.

मेरी जगह की जानकारी

डिफ़ॉल्ट रूप से, मैप पर जगह की जानकारी से जुड़ा कोई डेटा नहीं दिखाया जाता. आप नीले रंग का "मेरा जगह" myLocationEnabled को चालू करके बिंदु और कंपास की दिशा GMSMapView.

Swift

mapView.isMyLocationEnabled = true
      

Objective-C

mapView.myLocationEnabled = YES;
      

इस सुविधा को सक्षम करने से उपयोगकर्ता को इसके ज़रिए उपयोगकर्ता का वर्तमान स्थान मिलता है: myLocation प्रॉपर्टी. हो सकता है कि यह प्रॉपर्टी तुरंत उपलब्ध न हो - के लिए उदाहरण के लिए, अगर उपयोगकर्ता को iOS से इस डेटा को ऐक्सेस करने की अनुमति देने का अनुरोध किया जाता है. हां इस मामले में nil.

Swift

print("User's location: \(String(describing: mapView.myLocation))")
      

Objective-C

NSLog(@"User's location: %@", mapView.myLocation);
      

3D बिल्डिंग

कई शहरों को क्लोज़-अप में देखने पर, आपके शहर की 3D इमारतें दिखेंगी, जिन्हें देखा जा सकता है जो नीचे सिऐटल, वॉशिंगटन की इमेज में दिख रहे हैं.

सिऐटल, वॉशिंगटन की इमारतों का 3D मैप.

इससे संबंधित 3D बिल्डिंग की सुविधा बंद की जा सकती है GMSMapView प्रॉपर्टी को Swift या Objective-C में सबमिट कर सकते हैं, जैसा कि नीचे दिखाया गया है:

Swift

mapView.isBuildingsEnabled = false
      

Objective-C

[mapView setBuildingsEnabled:NO];
      

मैप पैडिंग

Google मैप को, GMSMapView के तय किए गए पूरे इलाके की जानकारी देने के लिए डिज़ाइन किया गया है. मैप कैसा दिखता है और कैसे काम करता है, इसके कई पहलू डाइमेंशन के आधार पर तय किए जाते हैं व्यू का हिस्सा हैं:

  • कैमरे का टारगेट, पैड किए गए हिस्से के बीच वाले हिस्से को दिखाता है.
  • मैप के कंट्रोल, मैप के किनारों के हिसाब से दिखाए जाते हैं.
  • कानूनी जानकारी, जैसे कि कॉपीराइट स्टेटमेंट या Google का लोगो पर क्लिक करें.

आप इसका इस्तेमाल करके मैप के किनारों के आस-पास पैडिंग (जगह) जोड़ सकते हैं GMSMapView.padding प्रॉपर्टी. मैप में जानकारी भरी हुई है पूरा कंटेनर, लेकिन टेक्स्ट और पोज़िशनिंग, मैप जेस्चर, और कैमरा कंट्रोल कर सकता है गतिविधि इस तरह से होती है जैसे उसे किसी छोटी जगह पर रखा गया हो. इस वजह से ये बदलाव हुए हैं:

  • एपीआई कॉल या बटन दबाने पर कैमरा गतिविधि (उदाहरण के लिए, कंपास, मेरी जगह) पैडेड इलाके के हिसाब से होती हैं.
  • GMSMapView.projection, ऐसा प्रोजेक्शन दिखाता है जिसमें सिर्फ़ पैड किए गए आइटम शामिल होते हैं क्षेत्र.
  • यूज़र इंटरफ़ेस (यूआई) कंट्रोल, बताए गए कंटेनर के किनारे से ऑफ़सेट होते हैं पॉइंट की संख्या.

मैप के कुछ हिस्से को ओवरलैप करने वाले यूज़र इंटरफ़ेस (यूआई) को डिज़ाइन करते समय, पैडिंग से मदद मिल सकती है. उदाहरण के लिए, इमेज में मैप के ऊपर और दाएं किनारों पर पैड लगाए गए हैं. दिखने वाले मैप नियंत्रण और कानूनी लेख पैड किए हुए के किनारों पर दिखाई देते हैं क्षेत्र को हरे रंग में दिखाया जाता है, जबकि मैप पूरे कंटेनर को भरना जारी रखता है, नीले रंग में दिखाया जाएगा. इस उदाहरण में, मेन्यू फ़्लोट करने के लिए, मैप कंट्रोल को उलझाए बिना मैप कर सकते हैं.

मैप पैडिंग

अपने मैप पर पैडिंग जोड़ने के लिए, UIEdgeInsets ऑब्जेक्ट बनाएं और इसे GMSMapView.padding प्रॉपर्टी.

Swift

// Insets are specified in this order: top, left, bottom, right
let mapInsets = UIEdgeInsets(top: 100.0, left: 0.0, bottom: 0.0, right: 300.0)
mapView.padding = mapInsets
      

Objective-C

// Insets are specified in this order: top, left, bottom, right
UIEdgeInsets mapInsets = UIEdgeInsetsMake(100.0, 0.0, 0.0, 300.0);
mapView.padding = mapInsets;
      

मैप की कलर स्कीम

सामान्य और इलाक़े वाले मैप के लिए, मैप की कलर स्कीम को गहरे रंग का, रोशनी या मौजूदा सिस्टम सेटिंग का इस्तेमाल करें. उदाहरण के लिए, गहरे रंग का या दिन के समय या घर के अंदर या बाहर इस्तेमाल के हिसाब से मैप की कलर स्कीम को हल्का करें डिवाइस की स्क्रीन पर.

GMSMapView overrideUserInterfaceStyle: का इस्तेमाल करें का इस्तेमाल करें.

Swift

let options = GMSMapViewOptions()
// Map is init to use light mode by default.
let mapView = GMSMapView(options: options)
// Set map to use dark mode.
mapView.overrideUserInterfaceStyle = .dark
// Set map to use light mode.
mapView.overrideUserInterfaceStyle = .light
// Set map to use dark/light mode based on the value of traitCollection.userInterfaceStyle
mapView.overrideUserInterfaceStyle = .unspecified

Objective-C

GMSMapViewOptions *options = [[GMSMapViewOptions alloc] init];
// Map is init to always use light mode.
GMSMapView *mapView = [[GMSMapView alloc] initWithOptions:options];
// Set map to use dark mode.
mapView.overrideUserInterfaceStyle = UIUserInterfaceStyleDark;
// Set map to use light mode.
mapView.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;
// Set map to use dark/light mode based on the value of traitCollection.userInterfaceStyle
mapView.overrideUserInterfaceStyle = UIUserInterfaceStyleUnspecified;