इस खास जानकारी में, iOS ऐप्लिकेशन में जोड़े गए मैप को कॉन्फ़िगर करने का तरीका बताया गया है iOS के लिए Maps SDK का इस्तेमाल करके.
खास जानकारी
अपने ऐप्लिकेशन में मैप जोड़ने के बाद, शुरुआती विकल्पों और रनटाइम को कॉन्फ़िगर किया जा सकता है मैप की सेटिंग. मैप कंटेनर जोड़ने के बारे में जानने के लिए, मैप जोड़ना लेख पढ़ें.
शुरुआती मैप सेटिंग में ये शामिल हैं:
- कैमरे की पोज़िशन, जिसमें जगह की जानकारी, ज़ूम, बियरिंग, और टिल्ट शामिल है. यहां जाएं: कैमरे की पोज़िशन तय करने से जुड़ी जानकारी के लिए, कैमरा और व्यू.
- मैप के बैकग्राउंड का रंग.
- मैप टाइप.
- डिसप्ले के लिए, यूज़र इंटरफ़ेस (यूआई) के कॉम्पोनेंट, जैसे कि ज़ूम बटन और कंपास.
- चालू करने के लिए हाथ के जेस्चर.
रनटाइम पर, इन सेटिंग और अतिरिक्त सेटिंग को कॉन्फ़िगर किया जा सकता है
अपडेट कर रहा है
GMSMapView
ऑब्जेक्ट है.
मैप के विकल्प
अपना मैप व्यू शुरू करते समय, कॉन्फ़िगरेशन विकल्प
GMSMapViewOptions
. विकल्प प्रॉपर्टी में frame
, camera
, mapID
या
backgroundColor
शामिल हैं.
मैप विकल्प | |
---|---|
फ़्रेम | वैल्यू:
CGRect मैप का फ़्रेम. डिफ़ॉल्ट रूप से, CGRectZero पर सेट होती है.
|
कैमरा | वैल्यू:
GMSCameraPosition मैप पर कैमरे की डिफ़ॉल्ट स्थिति.
|
mapID | वैल्यू:
GMSMapID Google mapID. वैकल्पिक पैरामीटर.
|
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
तरीका. नीचे दिया गया उदाहरण दिखाता है कि मैप पर ट्रैफ़िक लेयर कैसी दिख सकती है.
सुलभता
डिफ़ॉल्ट रूप से, मैप पर सुलभता एलिमेंट छिपे रहते हैं. GMSMapView
की accessibilityElementsHidden
प्रॉपर्टी को NO
पर सेट करके, सुलभता की सुविधा चालू की जा सकती है. इस वजह से, सुलभता एलिमेंट अपने-आप जनरेट होते हैं
ओवरले ऑब्जेक्ट (जैसे कि 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 बिल्डिंग की सुविधा बंद की जा सकती है
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;