Google Maps สําหรับ Android Automotive Intent

คุณสามารถเปิดการนำทางใน Google Maps สำหรับ Android Automotive ผ่าน Intent ของ Android ได้

ภาพรวม

หน้านี้อธิบายเจตนาที่คุณใช้กับ Google Maps สำหรับ Android Automotive ได้ ดูเอกสารประกอบสำหรับนักพัฒนาแอป Android โดยละเอียดได้ที่

คำขอความตั้งใจ

หากต้องการเปิด Google Maps สำหรับ Android Automotive ด้วย Intent คุณต้อง สร้างออบเจ็กต์ Intent ก่อน โดยระบุการดำเนินการ, URI และแพ็กเกจ

  • การดำเนินการ ระบบจะเรียก Intent ของ Google Maps ทั้งหมดเป็นการดำเนินการ View ACTION_VIEW

  • URI Intent ของ Google Maps ใช้สตริงที่เข้ารหัส URI ซึ่งระบุการดำเนินการที่เลือก พร้อมด้วยข้อมูลบางอย่างที่จะใช้ในการดำเนินการ

  • แพ็กเกจ การเรียกใช้ setPackage("com.google.android.apps.maps") จะช่วยให้ แอป Google Maps สำหรับ Android จัดการ Intent ได้ หากไม่ได้ตั้งค่าแพ็กเกจ ระบบจะกำหนดว่าแอปใดจัดการ Intent ได้ หากมี แอปหลายแอป ระบบอาจถามว่าคุณต้องการใช้แอปใด

หลังจากสร้าง Intent แล้ว คุณสามารถขอให้ระบบเปิดแอปที่เกี่ยวข้องได้หลายวิธี วิธีที่นิยมใช้คือการส่ง Intent ไปยังเมธอด startActivity() ระบบจะเปิดแอปที่จำเป็น ในกรณีนี้คือ Google Maps และเริ่มActivityที่เกี่ยวข้อง

// 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 ไม่ได้ แอปของคุณอาจขัดข้อง ด้วยเหตุนี้ ก่อนที่จะแสดง Intent เหล่านี้ต่อผู้ใช้ ให้ตรวจสอบก่อนว่ามีการติดตั้งแอปพลิเคชันที่รับ

หากต้องการยืนยันว่าแอปพร้อมรับ Intent ให้เรียกใช้ resolveActivity() ในออบเจ็กต์ Intent หากผลลัพธ์ไม่ใช่ค่าว่าง แสดงว่ามีแอปอย่างน้อย 1 แอปที่จัดการ Intent ได้ และเรียกใช้ startActivity() ได้อย่างปลอดภัย หากผลลัพธ์เป็น Null คุณไม่ควรใช้อินเทนต์ และหากเป็นไปได้ ให้ปิดใช้ฟีเจอร์ที่เรียกใช้อินเทนต์

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);
}

สตริงการค้นหาที่เข้ารหัส URI

สตริงทั้งหมดที่ส่งไปยัง Intent ของ Google Maps ต้องมีการเข้ารหัส URI เช่น สตริง "1st & Pike, Seattle" ควรกลายเป็น 1st%20%26%20Pike%2C%20Seattle คุณเข้ารหัสช่องว่างในสตริงด้วย %20 หรือแทนที่ด้วยเครื่องหมายบวก (+) ได้

คุณสามารถใช้วิธี android.net.Uri encode() เพื่อเข้ารหัสสตริงได้ เช่น

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

แสดงแผนที่

ใช้geo:เพื่อแสดงแผนที่ที่ตำแหน่งและระดับการซูมที่ระบุ เช่น

geo:latitude,longitude?z=zoom

พารามิเตอร์

  • latitude และ longitude ตั้งค่าจุดศูนย์กลางของแผนที่

  • z จะกำหนดระดับการซูมเริ่มต้นของแผนที่โดยไม่บังคับ ค่าที่ยอมรับมีตั้งแต่ 0 (ทั้งโลก) ถึง 21 (อาคารแต่ละหลัง) ขีดจํากัดบนอาจ แตกต่างกันไปขึ้นอยู่กับข้อมูลแผนที่ที่มีในสถานที่ที่เลือก

ตัวอย่าง

// Creates an intent that will load a map of San Francisco
Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

ค้นหาตำแหน่ง

ใช้อินเทนต์นี้เพื่อแสดงคำค้นหาภายในวิวพอร์ตที่ระบุ

geo:latitude,longitude?q=query
geo:0,0?q=my+street+address

พารามิเตอร์

นอกเหนือจากพารามิเตอร์ที่ใช้เพื่อแสดงแผนที่แล้ว Search ยังรองรับพารามิเตอร์ต่อไปนี้ด้วย

  • q กำหนดสถานที่ที่จะไฮไลต์บนแผนที่ ต้องระบุพารามิเตอร์ q สำหรับคำขอค้นหาทั้งหมด โดยรับตำแหน่งเป็นชื่อสถานที่ หรือที่อยู่ สตริงควรได้รับการหลีกเลี่ยง URL ดังนั้นที่อยู่ เช่น "City Hall, New York, NY" ควรแปลงเป็น City+Hall%2CNew+York%2CNY

เอนเอียงผลการค้นหาด้วยพิกัด

เมื่อค้นหาสถานที่ที่เฉพาะเจาะจงมาก คุณไม่จำเป็นต้องระบุละติจูดและลองจิจูดอย่างเคร่งครัดหากรวมไว้ในพารามิเตอร์ q อย่างไรก็ตาม หากไม่ทราบที่อยู่ที่แน่นอนหรือคำค้นหาไม่ชัดเจน คุณสามารถพยายามให้ผลการค้นหาเป็นไปในทิศทางที่ต้องการได้โดยการระบุพิกัด เช่น การค้นหาที่อยู่ "ถนนเมน" อาจแสดงผลการค้นหามากเกินไป

// Searching for "101 Main Street" with no lat/long might return too many results
Uri gmmIntentUri = Uri.parse("geo:0,0?q=101+main+street");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

การเพิ่มละติจูดและลองจิจูดลงใน URI ของความตั้งใจจะทำให้ผลลัพธ์เอนเอียงไปทางพื้นที่ใดพื้นที่หนึ่ง

// Searches for "101 Main Street" near San Francisco
Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194?q=101+main+street");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

ค้นหาบนเส้นทาง

หากมีการส่งเจตนาในการค้นหาgeo:latitude,longitude?q=queryระหว่างการนำทาง ระบบจะทริกเกอร์การค้นหาตามเส้นทางและจะไม่สนใจละติจูดและลองจิจูด

ค้นหาหมวดหมู่ที่กำหนดไว้ล่วงหน้า

Google Maps ในรถยนต์รองรับ Intent ที่แสดงหมวดหมู่ที่กำหนดไว้ล่วงหน้าต่อไปนี้ เพื่อรองรับการผสานรวมกับยานพาหนะ

หมวดหมู่ การเข้ารหัสหมวดหมู่เจตนา
ปั๊มน้ำมัน gas_station
ร้านอาหาร restaurant
คาเฟ่ cafe
ที่จอดรถ parking
สถานีชาร์จรถยนต์ไฟฟ้า electric_vehicle_charging_station

ความตั้งใจของหมวดหมู่จะอยู่ในรูปแบบ geo:lat,lng?c=category

ใช้ c=<pre-defined category> โดยไม่คำนึงถึงการตั้งค่าภาษาของผู้ใช้ Google Maps จะแสดงผลการค้นหาที่เกี่ยวข้องในภาษาที่เหมาะสมสำหรับหมวดหมู่นี้ เช่น

// Search for gas stations nearby
Uri gmmIntentUri = Uri.parse("geo:0,0?c=gas_station");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

การค้นหาตามหมวดหมู่อื่นๆ

หากคุณส่งคำค้นหาทั่วไป (เช่น "ร้านอาหาร" หรือ "ร้านกาแฟ") ใน ภาษาของผู้ใช้ Google Maps สำหรับ Android Automotive จะค้นหารายชื่อธุรกิจ ที่ตรงกับเกณฑ์ หากมีการระบุละติจูดและลองจิจูดที่เฉพาะเจาะจงในgeo:เจตนา ระบบจะค้นหาโดยมีสถานที่ดังกล่าวเป็นศูนย์กลาง หากไม่ได้ระบุสถานที่ (เช่น geo:0,0) Google Maps จะพยายามค้นหารายชื่อธุรกิจที่อยู่ใกล้เคียง เช่น

// Search for restaurants nearby
Uri gmmIntentUri = Uri.parse("geo:0,0?q=restaurants");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

คุณสามารถเพิ่มอคติให้กับผลการค้นหาได้โดยการระบุพารามิเตอร์การซูมพร้อมกับสตริงการค้นหา ในตัวอย่างต่อไปนี้ การเพิ่มการซูมของ 10 จะพยายาม หาร้านอาหารในระดับเมืองแทนที่จะเป็นร้านอาหารใกล้เคียง

Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194?z=10&q=restaurants");
Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri);
mapIntent.setPackage("com.google.android.apps.maps");
startActivity(mapIntent);

เปิดการนำทางแบบเลี้ยวต่อเลี้ยว

ดูเอกสารเกี่ยวกับการเปิดใช้การนำทางแบบเลี้ยวต่อเลี้ยวในอุปกรณ์ Android อื่นๆ ได้ที่เปิดใช้การนำทางแบบเลี้ยวต่อเลี้ยวใน Intent ของ Google Maps สำหรับ Android

ใช้ Intent นี้เพื่อเปิดการนำทางของ Google Maps พร้อมเส้นทางแบบเลี้ยวต่อเลี้ยวไปยัง ที่อยู่หรือพิกัดที่ระบุอย่างน้อย 1 รายการ ระบบจะแสดงเส้นทางจากตำแหน่งปัจจุบันของผู้ใช้เสมอ

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

พารามิเตอร์

หากต้องการเปิดการนำทาง ให้ใช้ place หรือ q กับ waypoints ซึ่งไม่บังคับ หากต้องการทำเครื่องหมายจุดอ้างอิงเป็นสถานีชาร์จ (ไม่บังคับ) ให้ดูส่งแผนการเดินทางด้วยรถยนต์ไฟฟ้าไปยัง Google Maps

  • q กำหนดปลายทางสำหรับการค้นหาการนำทาง ซึ่งอาจเป็นละติจูดและลองจิจูดหรือที่อยู่ที่จัดรูปแบบการค้นหา หากเป็นสตริงการค้นหาที่แสดงผลลัพธ์มากกว่า 1 รายการ ระบบจะเลือกผลลัพธ์แรก

  • place ตั้งค่าปลายทางเป็นบ้านหรือที่ทำงาน ระบุ "บ้าน" เพื่อไปยังบ้านของผู้ใช้ และระบุ "ที่ทำงาน" เพื่อไปยังที่ทำงานของผู้ใช้

  • avoid กำหนดฟีเจอร์ที่เส้นทางควรหลีกเลี่ยง avoid เป็นตัวเลือกและ สามารถตั้งค่าเป็นอย่างน้อย 1 รายการต่อไปนี้ได้

    • t สำหรับค่าผ่านทาง
    • h สำหรับทางหลวง
    • f สำหรับเรือเฟอร์รี
  • waypoints ระบุสถานที่กลางอย่างน้อย 1 แห่งเพื่อกำหนดเส้นทางไปยังจุดหมายสุดท้ายที่ระบุโดย q คุณระบุจุดแวะพักหลายจุดได้โดย ใช้อักขระไปป์ (|) เพื่อคั่นสถานที่ต่างๆ เช่น Berlin,Germany|Paris,France คุณใช้จุดอ้างอิงได้มากเท่าที่ต้องการ ระบบจะเพิ่ม จุดอ้างอิงลงในเส้นทางตามลำดับเดียวกับที่แสดง ใน URL จุดแวะพักแต่ละจุดอาจเป็นที่อยู่หรือพิกัดละติจูดและลองจิจูดที่คั่นด้วยคอมมา และคุณสามารถมีที่อยู่และพิกัดละติจูดและลองจิจูดใน Intent เดียวกันได้ สตริงควรเป็นแบบ URL-escaped ดังนั้นจุดแวะพัก เช่น "Berlin,Germany|Paris,France" ควรแปลงเป็น Berlin%2CGermany%7CParis%2CFrance

ตัวอย่าง

Intent นี้จะขอการนำทางแบบเลี้ยวต่อเลี้ยวไปยังสวนสัตว์ Taronga Zoo ในซิดนีย์ ออสเตรเลีย

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);

หากต้องการเปิดการนำทางแบบเลี้ยวต่อเลี้ยวไปยังที่อยู่ 3 แห่งต่อไปนี้ตามลำดับ ให้ส่ง Taronga Zoo เป็นจุดหมายสุดท้าย q และ Google Sydney กับ Sydney Opera House เป็นจุดแวะพัก ให้ทำดังนี้

  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

ใช้เจตนาการนำทางแบบหลายจุดหมายนี้เพื่อระบุจุดหมายบางแห่งเป็น จุดแวะพักเพื่อชาร์จรถยนต์ไฟฟ้า (EV) เจตนานี้ซึ่งขยายเจตนาแบบหลายจุดแวะพักจะช่วยให้ผู้ขับรักษาระดับการชาร์จแบตเตอรี่รถยนต์ไฟฟ้าให้เพียงพอต่อการเดินทางไปยังจุดหมายปลายทางได้โดยการซิงค์ข้อมูลจุดชาร์จระหว่างแอปวางแผนการเดินทางด้วย EV กับ Google Maps

สำหรับจุดชาร์จไฟฟ้า ความตั้งใจในการเดินทาง

  • ต้องมีชื่อและละติจูด-ลองจิจูด
  • อาจมีเอาต์พุตกำลังไฟ (ไม่บังคับ) เพื่อใช้ในการคำนวณเวลาในการชาร์จ

Google ใช้ชื่อและละติจูด/ลองจิจูดของสถานีชาร์จเพื่อค้นหาสถานีชาร์จที่ตรงกันเพื่อแสดงข้อมูลที่สมบูรณ์ เช่น ประเภทเครื่องชาร์จ จำนวนทั้งหมด ความเร็ว และความพร้อมให้บริการแบบเรียลไทม์ วิธีการชำระเงินที่รองรับ และจุดที่น่าสนใจ (POI) ของโฮสต์ เช่น เส้นทางการขับขี่ภายในลานจอดรถกลางแจ้งสำหรับ ส่วนสุดท้ายของการนำทาง เวลาทำการ การให้คะแนน หากต้องการให้สถานีชาร์จ ตรงกับข้อมูลของ Google ให้ใช้ <brand name> ที่เฉพาะเจาะจง เช่น ChargePoint

พารามิเตอร์

พารามิเตอร์ต่อไปนี้ช่วยให้คุณระบุรายละเอียดสำหรับจุดหมายสุดท้าย และจุดแวะพัก รวมถึงจุดที่กำหนดให้เป็นสถานีชาร์จ EV ได้

จุดหมายสุดท้าย

หากต้องการตั้งสถานีชาร์จเป็นจุดหมายปลายทางสุดท้าย ให้ใช้

  • q: ต้องมีค่าละติจูด-ลองจิจูดของสถานีชาร์จ
  • q_type: 1 ระบุว่าจุดหมายปลายทางสุดท้ายคือสถานีชาร์จ
  • q_name: ชื่อจุดหมายสุดท้าย ต้องระบุหาก q_type เป็น 1
  • q_power_output_kw: ตัวเลขทศนิยมสำหรับกำลังไฟฟ้าขาออกของสถานีชาร์จในหน่วยกิโลวัตต์ ไม่บังคับ

จุดอ้างอิง

สำหรับจุดอ้างอิง พารามิเตอร์ทั้งหมดจะเป็นอาร์เรย์ของค่าที่คั่นด้วยไปป์ (|) แบบขนาน ในลำดับเดียวกับจุดอ้างอิง โดยไม่รวมจุดหมายสุดท้าย ความไม่ตรงกันของจำนวนองค์ประกอบในอาร์เรย์แบบขนานจะถือเป็น Intent ที่มีรูปแบบไม่ถูกต้อง

หากต้องการเพิ่มจุดแวะพักสถานีชาร์จอย่างน้อย 1 แห่ง ให้ใช้พารามิเตอร์ต่อไปนี้ ซึ่งทั้งหมดเป็นพารามิเตอร์ที่ไม่บังคับ หากมีการทำเครื่องหมายจุดหมายปลายทางใดจุดหนึ่งเป็นสถานีชาร์จ ชื่อจุดแวะพักจะกลายเป็นสิ่งจำเป็นสำหรับจุดหมายปลายทางนั้น

  • waypoints: รายการจุดแวะพักตามที่อธิบายไว้ในเจตนาการนำทางแบบเลี้ยวต่อเลี้ยว ต้องเป็นค่าละติจูด-ลองจิจูดสำหรับจุดแวะพักของสถานีชาร์จ

  • waypoint_types: ประเภทต่อจุดอ้างอิงที่ระบุเป็นตัวเลข 0 คือป้ายจอดรถใดก็ได้ (ค่าเริ่มต้น) และ 1 คือสถานีชาร์จ

  • waypoint_names: ชื่อจุดอ้างอิง ต้องระบุช่องนี้สำหรับสถานีชาร์จ

  • waypoint_power_outputs_kw: ระบุตัวเลข 2 เท่าสำหรับกำลังของสถานีชาร์จในหน่วยกิโลวัตต์ สำหรับสถานีชาร์จ คุณจะระบุค่าเอาต์พุตของจุดแวะพัก ได้โดยไม่บังคับ ซึ่งจะใช้เป็นข้อมูลสำรองหากไม่พบสถานีที่ตรงกัน ช่องว่างหมายความว่าไม่มีการระบุค่า

พฤติกรรมประสบการณ์ของผู้ใช้ (UX)

สำหรับความตั้งใจในการเดินทางที่มีจุดหมายหลายแห่ง ระบบจะแสดงหน้าจอภาพรวมเส้นทาง แต่การนำทางจะไม่เริ่มโดยอัตโนมัติ

สำหรับ Intent ที่จัดรูปแบบอย่างถูกต้อง Google Maps จะแสดงหน้าจอภาพรวมเส้นทาง สำหรับการเดินทาง หน้าจอภาพรวมเส้นทางจะแสดงจุดแวะพักทั้งหมดและจุดหมายสุดท้ายจากความตั้งใจ พร้อมคำแนะนำในการชาร์จหากมี

สำหรับจุดแวะพักหรือจุดหมายสุดท้ายที่ทำเครื่องหมายเป็นสถานีชาร์จ Google Maps จะค้นหาสถานที่ที่ตรงกันในฐานข้อมูลของ Google เพื่อให้มั่นใจว่าระบบจะแสดงข้อมูลที่ดีที่สุดเกี่ยวกับสถานีชาร์จ ให้ทำดังนี้

  • หากพบสถานีที่ตรงกัน Google Maps จะใช้ข้อมูลของ Google เพื่อแสดงสถานีชาร์จในอินเทอร์เฟซผู้ใช้ (UI) และให้คำแนะนำในการชาร์จสำหรับสถานีชาร์จ

  • หากไม่พบรายการที่ตรงกัน ระบบจะใช้ข้อมูลที่ระบุใน Intent สำหรับสถานีชาร์จ (ละติจูด ลองจิจูด ชื่อ และกำลังไฟ) เพื่อแสดงสถานีชาร์จนี้ใน UI และให้คำแนะนำในการชาร์จที่สถานีชาร์จนี้

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงวิธีสร้าง Intent สำหรับสถานการณ์การวางแผนการเดินทางด้วย EV ต่างๆ ซึ่งรวมถึงการไปยังสถานีชาร์จหลายแห่งและการจัดการเอาต์พุตกำลังที่ไม่รู้จัก

นำทางไปยังจุดหมายปลายทางผ่านสถานีชาร์จหลายแห่ง

เจตนาต่อไปนี้จะนำทางไปยังจุดหมายปลายทางสุดท้าย ซึ่งก็คือ Port Macquarie NSW โดย ผ่านสถานีชาร์จ 2 แห่ง ได้แก่ ChargePoint และ Evie

ปลายทางตามลำดับ

  1. สถานีชาร์จ ChargePoint (ตำแหน่ง: -32.9599188,151.6240806, กำลังไฟขาออก: 6.6 กิโลวัตต์)

  2. สถานีชาร์จ Evie (สถานที่ตั้ง: -31.9432539,152.4699808, กำลังไฟฟ้าออก: 350kw)

  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. สถานีชาร์จ Evie (สถานที่ตั้ง: -31.9432539,152.4699808, กำลังไฟฟ้า: 350 กิโลวัตต์)

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);

Intent การดำเนินการ

โดยมีเจตนาการดำเนินการต่อไปนี้พร้อมอินเทอร์เฟซให้ใช้งาน

การทำงาน คำอธิบาย
geo.action:?act=mute ปิดเสียงการนำทางด้วยเสียงทั้งหมด
geo.action:?act=unmute เปิดเสียงการนำทางด้วยเสียง
geo.action:?act=show_traffic แสดงเส้นการจราจรบนแผนที่
geo.action:?act=hide_traffic ซ่อนเส้นการจราจรบนแผนที่
geo.action:?act=show_satellite แสดงภาพจากดาวเทียมบนแผนที่
geo.action:?act=hide_satellite ซ่อนภาพดาวเทียมบนแผนที่
geo.action:?act=show_alternates Google Maps จะเปิดหน้าจอเส้นทางอื่น (ใช้ได้ขณะนำทางเท่านั้น)
geo.action:?act=query_next_turn Google Maps จะพูดการเลี้ยวถัดไป (ใช้ได้ขณะนำทางเท่านั้น)
geo.action:?act=distance_to_next_turn Google Maps จะพูดระยะทางจนถึงจุดเลี้ยวถัดไป (ใช้ได้ขณะนำทางเท่านั้น)
geo.action:?act=time_to_next_turn Google Maps จะบอกเวลาจนถึงจุดเลี้ยวถัดไป (ใช้ได้ขณะนำทางเท่านั้น)
geo.action:?act=distance_to_destination Google Maps จะพูดระยะทางไปยังจุดหมาย (ใช้ได้เฉพาะขณะนำทาง)
geo.action:?act=go_back Google Maps จะกลับไปที่หน้าจอก่อนหน้าใน UI
geo.action:?act=query_current_road Google Maps จะอ่านชื่อถนนปัจจุบัน
geo.action:?act=query_destination Google Maps จะพูดจุดหมาย
geo.action:?act=traffic_report Google Maps จะพูดรายงานการจราจร
geo.action:?act=clear_search_results Google Maps จะปิดหน้าจอผลการค้นหา (หากเปิดอยู่)
geo.action:?act=apply_electric_vehicle_connector_filter ใช้ตัวกรองประเภทหัวเสียบสำหรับผลการค้นหาสถานีชาร์จรถยนต์ไฟฟ้า
geo.action:?act=remove_electric_vehicle_connector_filter นำตัวกรองประเภทหัวชาร์จไฟฟ้าสำหรับผลการค้นหาสถานีชาร์จรถยนต์ไฟฟ้าออก
geo.action:?act=apply_electric_vehicle_payment_filter ใช้ตัวกรองการชำระเงินสำหรับการค้นหาสถานีชาร์จรถยนต์ไฟฟ้า ผลลัพธ์
geo.action:?act=remove_electric_vehicle_payment_filter นำตัวกรองการชำระเงินสำหรับการค้นหาสถานีชาร์จรถยนต์ไฟฟ้าออก ผลลัพธ์
geo.action:?act=apply_electric_vehicle_fast_charging_filter ใช้ตัวกรองการชาร์จเร็วสำหรับผลการค้นหาสถานีชาร์จรถยนต์ไฟฟ้า
geo.action:?act=remove_electric_vehicle_fast_charging_filter นำตัวกรองการชาร์จเร็วสำหรับผลการค้นหาสถานีชาร์จรถยนต์ไฟฟ้าออก
geo.action:?act=avoid_tolls หากผู้ใช้กำลังนำทาง ให้บอก Google Maps ให้หลีกเลี่ยงเส้นทางที่มีค่าผ่านทาง ซึ่งอาจส่งผลให้มีการเปลี่ยนเส้นทางหากเส้นทางปัจจุบันมีค่าผ่านทาง
geo.action:?act=allow_tolls หากผู้ใช้กำลังนำทาง ให้บอก Google Maps ว่าอนุญาตเส้นทางที่มีค่าผ่านทาง ซึ่งอาจส่งผลให้มีการเปลี่ยนเส้นทางหากการอนุญาตให้ใช้ถนนที่มีค่าผ่านทางทำให้มีเส้นทางที่ดีกว่า ให้เลือก
geo.action:?act=avoid_ferries หากผู้ใช้กำลังนำทาง ให้บอก Google Maps ให้หลีกเลี่ยงเส้นทางที่มี เรือข้ามฟาก ซึ่งอาจส่งผลให้มีการเปลี่ยนเส้นทางหากเส้นทางที่ใช้งานอยู่ปัจจุบันมี เรือข้ามฟาก
geo.action:?act=allow_ferries หากผู้ใช้กำลังนำทาง ให้บอก Google Maps ว่าอนุญาตเส้นทางที่มี เรือข้ามฟาก ซึ่งอาจส่งผลให้มีการเปลี่ยนเส้นทางหากการอนุญาตเรือข้ามฟากทำให้มีเส้นทางที่ดีกว่า
geo.action:?act=avoid_highways หากผู้ใช้กำลังนำทาง ให้บอก Google Maps ว่าไม่ให้ใช้เส้นทางที่มี ทางหลวง ซึ่งอาจส่งผลให้มีการเปลี่ยนเส้นทางหากเส้นทางที่ใช้งานอยู่ปัจจุบันมี ทางหลวง
geo.action:?act=allow_highways หากผู้ใช้กำลังนำทาง ให้บอก Google Maps ว่าอนุญาตเส้นทางที่มี ทางหลวง ซึ่งอาจส่งผลให้มีการเปลี่ยนเส้นทางหากการอนุญาตให้ใช้ทางหลวงทำให้มีเส้นทางที่ดีกว่า
geo.action:?act=eta หากผู้ใช้กำลังนำทาง Google Maps จะพูดเวลาถึงโดยประมาณของ จุดหมาย (เช่น 09:15 น.)
geo.action:?act=time_to_destination หากผู้ใช้กำลังนำทาง Google Maps จะพูดเวลาที่คาดว่าจะถึงจุดหมาย (เช่น 15 นาที)
geo.action:?act=exit_navigation ออกจากการนำทาง
geo.action:?act=select_search_result&id=0 หากผลการค้นหาปรากฏบนหน้าจอ (ตามที่แสดงในรูปภาพประกอบ) การดำเนินการนี้จะเริ่มการนำทางไปยังผลการค้นหาที่ n ตามพารามิเตอร์ รหัสที่ระบุ โปรดทราบว่าดัชนีเป็นแบบ 0 (กล่าวคือ geo.action:?act=select_search_result&id=0 จะเลือกผลลัพธ์แรก ในรายการ)

ผลการค้นหาจะแสดงบนหน้าจอ