คุณสามารถเปิดการนำทางใน 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 เป็นจุดแวะพัก ให้ทำดังนี้
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
เป็น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
ปลายทางตามลำดับ
สถานีชาร์จ ChargePoint (ตำแหน่ง: -32.9599188,151.6240806, กำลังไฟขาออก: 6.6 กิโลวัตต์)
สถานีชาร์จ Evie (สถานที่ตั้ง: -31.9432539,152.4699808, กำลังไฟฟ้าออก: 350kw)
พอร์ตแมคควารี นิวเซาท์เวลส์
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=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 จะเลือกผลลัพธ์แรก
ในรายการ) |