Android Automotive के इंटेंट के लिए Google Maps

डिसक्लेमर

यह प्रॉडक्ट/सुविधा बदल जाएगी और यह किसी भी सेवा स्तर समझौते (एसएलए) पर निर्भर नहीं है या इस्तेमाल नहीं करने की नीति. इन्हें लागू करने की प्रोसेस में, आने वाली रिलीज़ में बदलाव हो सकता है.

इस दस्तावेज़ के साथ भेजे जाने वाले सैंपल सॉफ़्टवेयर, डेटा फ़ाइलों, और/या सोर्स कोड के बारे में: प्रॉडक्ट को "जैसा है" वैसा ही उपलब्ध कराया गया है और किसी भी प्रकार की वारंटी के बिना, किसी भी अन्य और सभी वारंटी, चाहे वे स्पष्ट, अस्पष्ट, क़ानूनी या अन्य हों. इसमें बिना किसी सीमा के शामिल हैं कारोबार के काबिल होने की वारंटी, किसी खास मकसद के लिए योग्य होने की गारंटी, और किसी अधिकार का उल्लंघन न होने की वारंटी इस प्रॉडक्ट से जुड़े प्रॉडक्ट.


Android Automotive इंटेंट की मदद से, Google Maps में नेविगेशन लॉन्च किया जा सकता है.

ज़्यादा जानकारी के लिए, Android के लिए Google Maps इंटेंट देखें.

अपने ऐप्लिकेशन को उन वाहनों पर दिखाने के बारे में ज़्यादा जानकारी जिनके लिए, इनमें से कोई भी काम किया जा रहा है Android Auto या Android Automotive OS के लिए, देखें कार के लिए Android.

खास जानकारी

यह पेज उन इंटेंट के बारे में बताता है जिनका इस्तेमाल आप Android के लिए Google Maps के साथ कर सकते हैं ऑटोमोटिव. ज़्यादा जानकारी वाले Android डेवलपर दस्तावेज़ के लिए, इन्हें पढ़ें:

इंटेंट के अनुरोध

किसी इंटेंट के साथ Android Automotive के लिए Google Maps लॉन्च करने के लिए, आपको पहले इसकी कार्रवाई, यूआरआई और पैकेज को बताने वाला एक इंटेंट ऑब्जेक्ट बनाएं.

  • कार्रवाई. Google Maps के सभी इंटेंट को व्यू ऐक्शन कहा जाता है, ACTION_VIEW.

  • यूआरआई. Google Maps इंटेंट, यूआरआई कोड में बदली गई स्ट्रिंग का इस्तेमाल करता है. इससे आपकी पसंद का तय किया जाता है कार्रवाई होती है, जिसमें कुछ डेटा होता है, जिससे कार्रवाई करनी है.

  • पैकेज. setPackage("com.google.android.apps.maps") को कॉल करने से पक्का हो जाएगा कि Android के लिए Google Maps ऐप्लिकेशन इंटेंट को हैंडल करता है. अगर पैकेज सेट है, तो सिस्टम यह तय करता है कि कौनसे ऐप्लिकेशन इंटेंट को हैंडल कर सकते हैं. अगर एक से ज़्यादा ऐप्लिकेशन उपलब्ध हैं, तो आपसे पूछा जा सकता है कि आपको किस ऐप्लिकेशन का इस्तेमाल करना है.

इंटेंट बनाने के बाद, सिस्टम से संबंधित का कई तरीकों से इस्तेमाल किया है. एक सामान्य तरीका यह है कि [startActivity()] तरीका. सिस्टम ज़रूरी ऐप्लिकेशन लॉन्च करेगा, जैसे कि केस, Google Maps, और उससे जुड़ी गतिविधि शुरू करें.

// Create a Uri from an intent string. Use the result to create an Intent.
Uri mapIntentUri =
Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
// Create an Intent from mapIntentUri. Set the action to ACTION_VIEW
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
// Make the Intent explicit by setting the Google Maps package
mapIntent.setPackage("com.google.android.apps.maps");
// Attempt to start an activity that can handle the Intent
startActivity(mapIntent);

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

कोई ऐप्लिकेशन इंटेंट पाने के लिए उपलब्ध है या नहीं, इसकी पुष्टि करने के लिए कॉल करें आपके [Intent] ऑब्जेक्ट पर [resolveActivity()]. अगर नतीजा शून्य नहीं है, कम से कम एक ऐसा ऐप्लिकेशन है जो इंटेंट को हैंडल कर सकता है और उसे कॉल करना सुरक्षित है [startActivity()]. अगर नतीजा खाली है, तो आपको इंटेंट का इस्तेमाल नहीं करना चाहिए और, अगर हो सके, तो इंटेंट को शुरू करने वाली सुविधा को बंद कर दें.

if (mapIntent.resolveActivity(getPackageManager()) != null) {
...
}

उदाहरण के लिए, सिडनी के टारोंगा ज़ू में मोड़-दर-मोड़ नेविगेशन लॉन्च करने के लिए, तो इस कोड का इस्तेमाल किया जा सकता है:

Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
if (mapIntent.resolveActivity(getPackageManager()) != null) {
startActivity(mapIntent);
}

यूआरआई कोड में बदली गई क्वेरी स्ट्रिंग

Google Maps इंटेंट को पास की जाने वाली सभी स्ट्रिंग, यूआरआई कोड में बदली जानी चाहिए. उदाहरण के लिए, स्ट्रिंग "1st & पाइक, सिऐटल" 1st%20%26%20Pike%2C%20Seattle होना चाहिए. स्ट्रिंग में मौजूद स्पेस को %20 से कोड में बदला जा सकता है या प्लस के निशान से बदला जा सकता है (+).

अपनी स्ट्रिंग को कोड में बदलने के लिए, android.net.Uri parse() तरीके का इस्तेमाल किया जा सकता है. इसके लिए उदाहरण:

Uri mapIntentUri = Uri.parse("google.navigation:q=" + Uri.encode("1st & Pike, Seattle"));

मोड़-दर-मोड़ नेविगेशन लॉन्च करें

Google Maps नेविगेशन को लॉन्च करने के लिए, इस इंटेंट का इस्तेमाल करें एक या कई पते या निर्देशांक दिए गए हों. दिशा-निर्देश हमेशा दिए जाते हैं उपयोगकर्ता की मौजूदा जगह से.

google.navigation:q=a+street+address
google.navigation:q=latitude,longitude
google.navigation:place=placename

पैरामीटर

नेविगेशन लॉन्च करने के लिए, waypoints के साथ place या q का इस्तेमाल करें, जो कि ज़रूरी नहीं है. वेपॉइंट को चार्जिंग स्टेशन के तौर पर मार्क करने के लिए, Google Maps को इलेक्ट्रिक वाहन की यात्रा का प्लान भेजना लेख पढ़ें.

  • q नेविगेशन खोजों के लिए समाप्ति बिंदु सेट करता है. यह काम किया जा सकता है: अक्षांश/देशांतर या क्वेरी फ़ॉर्मैट वाला पता. अगर यह कोई ऐसी क्वेरी स्ट्रिंग है एक से ज़्यादा नतीजे दिखाता है, तो पहला नतीजा चुना जाएगा.

  • place, एंडपॉइंट को घर या ऑफ़िस के लिए सेट करता है. नेविगेट करने के लिए, होम के बारे में बताएं उपयोगकर्ता के घर या ऑफ़िस तक जाने की जानकारी होनी चाहिए.

  • avoid उन सुविधाओं को सेट करता है जिनसे बचना चाहिए. avoid ज़रूरी नहीं है और इनमें से एक या ज़्यादा को सेट किया जा सकता है:

    • टोल के लिए t
    • हाइवे के लिए h
    • फ़ेरी के लिए f
  • waypoints तक जाने के निर्देश पाने के लिए, एक या ज़्यादा मध्यस्थ जगहों की जानकारी देता है q का तय किया गया आखिरी डेस्टिनेशन. आप एक से ज़्यादा वेपॉइंट तय कर सकते हैं जगहों को अलग-अलग करने के लिए पाइप वर्ण (|) का इस्तेमाल करें -- उदाहरण के लिए, Berlin,Germany|Paris,France. ज़रूरत के मुताबिक, कई वेपॉइंट का इस्तेमाल किया जा सकता है. वेपॉइंट रास्ते में उसी क्रम में जोड़े जाएंगे जिसमें वे URL की सूची में शामिल है. हर वेपॉइंट, एक पता या कॉमा से अलग किया हुआ हो सकता है अक्षांश/देशांतर निर्देशांक; और, आपके पास पता और अक्षांश/देशांतर हो सकता है एक ही इंटेंट में निर्देशांक होते हैं. स्ट्रिंग यूआरएल-एस्केप होनी चाहिए, इसलिए वेपॉइंट, जैसे "बर्लिन,जर्मनी|पेरिस,फ़्रांस" इसे इसमें बदला जाना चाहिए Berlin%2CGermany%7CParis%2CFrance.

उदाहरण

यह इंटेंट, टरोंगा चिड़ियाघर के लिए मोड़-दर-मोड़ नेविगेशन का अनुरोध करेगा सिडनी ऑस्ट्रेलिया:

Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

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

Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&avoid=tf");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

या अगर आप अपने घर पर जाएं, तो इनका इस्तेमाल करें:

Uri mapIntentUri = Uri.parse("google.navigation:place=home");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

निम्न तीन पतों के लिए मोड़-दर-मोड़ नेविगेशन को क्रम से लॉन्च करने के लिए, आखिरी डेस्टिनेशन q के तौर पर टारोंगा ज़ू को पास करें. इसके बाद, Google सिडनी और सिडनी को देखें वेपॉइंट के तौर पर ऑपरा हाउस:

  1. सिडनी में Google का ऑफ़िस

  2. सिडनी ओपेरा हाउस

  3. तरोंगा चिड़ियाघर, सिडनी ऑस्ट्रेलिया

Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&waypoints=Google+Sydney%7CSydney+Opera+House");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

q की तरह ही, किसी भी वेपॉइंट को कॉमा लगाकर अलग करके दिखाया जा सकता है पते के बजाय अक्षांश और देशांतर. उदाहरण के लिए, इसके बजाय सिडनी ऑपरा हाउस के अक्षांश देशांतर से गुज़रते समय वही नेविगेशन पता:

Uri mapIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&waypoints=Google+Sydney%7C-33.856159,151.215256");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

Google Maps को इलेक्ट्रिक वाहन की यात्रा का प्लान भेजें

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

चार्जिंग स्टॉप के लिए, यात्रा के इंटेंट:

  • इसमें नाम और lat-long होना चाहिए
  • इसमें चार्जिंग के समय का हिसाब लगाने के लिए, विकल्प के तौर पर पावर आउटपुट शामिल हो सकता है

Google, चार्जिंग स्टेशन के नाम और अक्षांश-देशांतर से मैच होने वाले चार्जिंग स्टेशन का पता लगाता है कनेक्टर जैसे रिच डेटा को दिखाने के लिए स्टेशन की जगह टाइप, कुल, स्पीड, और रीयल-टाइम में उपलब्धता, पेमेंट के तरीके, और लोकप्रिय जगहें होस्ट करें. उदाहरण के लिए, इसके भीतर ड्राइविंग दिशा-निर्देश आउटडोर पार्किंग लॉट, नेविगेशन के आखिरी हिस्से के लिए, खुलने का समय, रेटिंग. यह पक्का करने के लिए कि चार्जिंग स्टेशन, Google डेटा से सही तरह से मेल खाए, <brand name> का इस्तेमाल करें, जैसे कि ChargePoint.

पैरामीटर

अंतिम स्टेशन

चार्जिंग स्टेशन को फ़ाइनल डेस्टिनेशन के तौर पर सेट करने के लिए, इनका इस्तेमाल करें:

  • q: चार्जिंग स्टेशन की अक्षांश/देशांतर वैल्यू शामिल होनी चाहिए.
  • q_type: 1 बताता है कि आखिरी मंज़िल एक चार्जिंग स्टेशन है.
  • q_name: फ़ाइनल डेस्टिनेशन का नाम. अगर q_type, 1 है, तो इसका इस्तेमाल करना ज़रूरी है.
  • q_power_output_kw: चार्जिंग स्टेशन में पावर आउटपुट के लिए दिया गया दोगुना नंबर किलोवाट. ज़रूरी नहीं.

वे-पाइंट

वेपॉइंट के लिए, सभी पैरामीटर समानांतर हैं, जो | के ज़रिए अलग किए गए हैं मानों के क्रम में वेपॉइंट के जैसे ही होते हैं. इनमें अंतिम गंतव्य शामिल नहीं है. समानांतर सरणियों में तत्वों की संख्या में बेमेल को गलत इंटेंट.

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

  • waypoints: मोड़-दर-मोड़ नेविगेशन में बताए गए वेपॉइंट की सूची इंटेंट. चार्जिंग स्टेशन के वेपॉइंट के लिए अक्षांश-देशांतर में वैल्यू होनी चाहिए.

  • waypoint_types: संख्या के तौर पर बताए गए हर वेपॉइंट का टाइप. 0 कोई भी स्टॉप (डिफ़ॉल्ट वैल्यू) है और 1 चार्जिंग स्टेशन है.

  • waypoint_names: वेपॉइंट के नाम. चार्जिंग के लिए यह फ़ील्ड ज़रूरी है स्टेशन.

  • waypoint_power_outputs_kw: चार्जिंग स्टेशन में पावर सप्लाई के लिए दो नंबर किलोवाट. चार्जिंग स्टेशन के लिए, वेपॉइंट तय किया जा सकता है. हालांकि, ऐसा करना ज़रूरी नहीं है पावर आउटपुट वैल्यू, जिसका इस्तेमाल तब फ़ॉलबैक के तौर पर किया जाता है, जब मैचिंग स्टेशन नहीं मिला. खाली स्लॉट का मतलब है कि कोई मान नहीं दिया गया.

उपयोगकर्ता अनुभव (UX) का व्यवहार

एक से ज़्यादा गंतव्यों वाले यात्रा इंटेंट के लिए, रास्ते की खास जानकारी वाली स्क्रीन दिखाया जाता है, लेकिन नेविगेशन अपने-आप शुरू नहीं होता.

सही तरीके से फ़ॉर्मैट किए गए इंटेंट के लिए, Google Maps रास्ते की खास जानकारी देगा स्क्रीन. रास्ते की जानकारी वाली स्क्रीन पर सभी वेपॉइंट दिखेंगे और इंटेंट के आधार पर, चार्जिंग के सुझावों के साथ फ़ाइनल डेस्टिनेशन लागू.

चार्जिंग स्टेशन के तौर पर मार्क किए गए किसी भी वेपॉइंट या फ़ाइनल डेस्टिनेशन के लिए, Google Maps Google के डेटाबेस में मेल खाने वाली जगह की खोज करेगा.

मिलता-जुलता वीडियो मिलने पर Google Maps, शुल्क दिखाने के लिए Google डेटा का इस्तेमाल करता है उपयोगकर्ता इंटरफ़ेस (यूआई) में स्टेशन ढूंढें और चार्जिंग स्टेशन. अगर मिलान नहीं मिलता है, तो इसे दिखाने के लिए चार्जिंग स्टेशन (अक्षांश-देशांतर, नाम और पावर आउटपुट) का इस्तेमाल किया जाएगा यूज़र इंटरफ़ेस (यूआई) में चार्जिंग स्टेशन मौजूद होना चाहिए. साथ ही, इस पर चार्जिंग का सुझाव दें चार्जिंग स्टेशन.

उदाहरण

एक से ज़्यादा चार्जिंग स्टेशन से होकर, आखिरी मंज़िल तक पहुंचें

नीचे दिया गया इंटेंट, आखिरी डेस्टिनेशन, पोर्ट मैक्वायरी एनएसडब्ल्यू, दो चार्जिंग स्टेशन, ChargePoint और Evy से होकर.

क्रम में गंतव्य:

  1. ChargePoint चार्जिंग स्टेशन (जगह: -32.9599188,151.6240806, पावर आउटपुट: 6.6 किलोवाट

  2. इवी चार्जिंग स्टेशन (जगह: -31.9432539,152.4699808, पावर आउटपुट: 350 किलोवाट

  3. पोर्ट मैक्वायरी एनएसडब्ल्यू

Uri mapIntentUri =
    Uri.parse(
        "google.navigation:q=Port+Macquarie+NSW"
            + "&waypoints=-32.9599188%2C151.6240806%7C-31.9432539%2C152.4699808"
            + "&waypoint_types=1%7C1"
            + "&waypoint_names=ChargePoint+Charging+Station%7CEvie+Charging+Station"
            + "&waypoint_power_outputs_kw=6.6%7C350");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

अनजान पावर आउटपुट

अगर पावर आउटपुट वैल्यू की जानकारी नहीं है, तो इससे जुड़े स्लॉट को छोड़ दें waypoint_power_outputs_kw खाली है. या अगर सभी स्लॉट खाली हैं, तो कोई ज़रूरत नहीं है waypoint_power_outputs_kw पैरामीटर की जानकारी देने के लिए.

क्रम में गंतव्य:

  1. ChargePoint चार्जिंग स्टेशन (जगह: -32.9599188,151.6240806, पावर आउटपुट: अज्ञात)

  2. पोर्ट मैक्वायरी एनएसडब्ल्यू

Uri mapIntentUri =
    Uri.parse(
        "google.navigation:q=Port+Macquarie+NSW"
            + "&waypoints=-32.9599188%2C151.6240806"
            + "&waypoint_types=1"
            + "&waypoint_names=ChargePoint+Charging+Station");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

फ़ाइनल डेस्टिनेशन को चार्जिंग स्टेशन के तौर पर मार्क करें

फ़ाइनल डेस्टिनेशन को चार्जिंग स्टेशन के तौर पर मार्क करने के लिए, q_type, q_name तय करें और q_power_output_kw पैरामीटर.

क्रम में गंतव्य:

  1. तरोंगा चिड़ियाघर, सिडनी ऑस्ट्रेलिया

  2. ChargePoint चार्जिंग स्टेशन (जगह: -32.9599188,151.6240806, पावर आउटपुट: अज्ञात)

  3. इवी चार्जिंग स्टेशन (जगह: -31.9432539,152.4699808, पावर आउटपुट: 350kw)

Uri mapIntentUri =
    Uri.parse(
        "google.navigation:q=-31.9432539,152.4699808&q_type=1&q_name=Evie+Charging+Station&q_power_output_kw=350"
            + "&waypoints=Taronga+Zoo%2C+Sydney+Australia%7C-32.9599188%2C151.6240806"
            + "&waypoint_types=0%7C1"
            + "&waypoint_names=%7CChargePoint+Charging+Station"
            + "&waypoint_power_outputs_kw=%7C");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, mapIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);