คุณสามารถเปิดการนำทางใน Google Maps สำหรับ Android Automotive ได้ผ่าน Intent ของ Android
ภาพรวม
หน้านี้อธิบายเจตนาที่คุณใช้กับ Google Maps สำหรับ Android Automotive ได้ ดูเอกสารประกอบสำหรับนักพัฒนาแอป Android โดยละเอียดได้ที่
คำขอความตั้งใจ
หากต้องการเปิด Google Maps สำหรับ Android Automotive ด้วย Intent คุณต้อง
สร้างออบเจ็กต์ Intent ก่อน โดยระบุการดำเนินการ, URI และแพ็กเกจ
การดำเนินการ ระบบจะเรียก Intent ของ Google Maps ทั้งหมดเป็นการดำเนินการ View
ACTION_VIEWURI 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 หากผลลัพธ์ไม่ใช่ Null แสดงว่ามีแอปอย่างน้อย 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);
ค้นหาตำแหน่ง
ใช้ Intent นี้เพื่อแสดงคำค้นหาภายใน Viewport ที่ระบุ
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: Intent ระบบจะค้นหาโดยมีตำแหน่งดังกล่าวเป็นศูนย์กลาง หากไม่ได้ระบุสถานที่ (เช่น 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 ที่หลีกเลี่ยง ดังนั้นจุดอ้างอิง เช่น "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 เป็นจุดหมายสุดท้าย q และ Google Sydney กับ Sydney
Opera House เป็นจุดแวะพัก
Google ซิดนีย์
โรงอุปรากรซิดนีย์
สวนสัตว์ทารองกา ซิดนีย์ ออสเตรเลีย
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เป็น1q_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
ปลายทางตามลำดับ
สถานีชาร์จ ChargePoint (ตำแหน่ง: -32.9599188,151.6240806, กำลังไฟ ขาออก: 6.6kw)
สถานีชาร์จ Evie (สถานที่ตั้ง: -31.9432539,152.4699808, กำลังไฟออก: 350 กิโลวัตต์)
พอร์ตแมคควารี นิวเซาท์เวลส์
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
ปลายทางตามลำดับ
สถานีชาร์จ ChargePoint (ตำแหน่ง: -32.9599188,151.6240806, เอาต์พุตกำลัง: ไม่ทราบ)
พอร์ตแมคควารี นิวเซาท์เวลส์
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
ปลายทางตามลำดับ
สวนสัตว์ทารองกา ซิดนีย์ ออสเตรเลีย
สถานีชาร์จ ChargePoint (ตำแหน่ง: -32.9599188,151.6240806, เอาต์พุตพลังงาน: ไม่ทราบ)
สถานีชาร์จ 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=route_overview |
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=my_location |
Google Maps จะจัดกึ่งกลางแผนที่ใหม่ตามตำแหน่งของผู้ใช้ |
geo.action:?act=show_map |
Google Maps จะปิดการ์ดที่เปิดอยู่ทั้งหมดและกลับไปที่มุมมองแผนที่ |
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 จะเลือกผลลัพธ์แรก
ในรายการ)
|
