แอป Google Maps สําหรับ Android แสดง Intent หลายรายการที่คุณสามารถใช้เพื่อเปิด Google Maps ในโหมด Display, Search, Navigation หรือ Street View หากต้องการฝังแผนที่ในแอป โปรดดูคู่มือเริ่มต้นใช้งาน Google Maps Android API
ภาพรวม
Intent ช่วยให้คุณเริ่มกิจกรรมในแอปอื่นได้โดยอธิบายการดำเนินการง่ายๆ ที่ต้องการทำ (เช่น "แสดงแผนที่" หรือ "แสดงเส้นทางไปยังสนามบิน") ในออบเจ็กต์ Intent
แอป Google Maps สําหรับ Android รองรับ Intent หลายรายการ ซึ่งช่วยให้คุณเปิดแอป Google Maps และดําเนินการอย่างใดอย่างหนึ่งต่อไปนี้ได้
- แสดงแผนที่ที่ตำแหน่งและระดับการซูมที่ระบุ
- ค้นหาสถานที่หรือจุดหมาย และแสดงบนแผนที่
- ขอเส้นทางจากสถานที่หนึ่งไปยังอีกสถานที่หนึ่ง ระบบจะแสดงเส้นทางสำหรับ 3 โหมดการเดินทาง ได้แก่ การขับรถ เดิน และปั่นจักรยาน
- แสดงภาพพาโนรามาใน Google Street View
หน้านี้อธิบาย Intent ที่คุณสามารถใช้กับแอป Google Maps สําหรับ Android ดูข้อมูลเพิ่มเติมเกี่ยวกับ Intent และตัวกรอง Intent หรือ Intent ที่พบได้ทั่วไปในแพลตฟอร์ม Android ได้ในเอกสารประกอบสำหรับนักพัฒนาแอป Android
คำขอ Intent
หากต้องการเปิด Google Maps ด้วย Intent คุณต้องสร้างออบเจ็กต์ Intent
ก่อน โดยระบุการดำเนินการ, URI และแพ็กเกจ
- การดำเนินการ: อินเทนต์ทั้งหมดของ Google Maps จะเรียกเป็นการดำเนินการ "ดู"
ACTION_VIEW
- URI: Intent ของ Google Maps ใช้ URL ที่เข้ารหัสซึ่งระบุการดำเนินการที่ต้องการ พร้อมกับข้อมูลบางอย่างที่จะใช้ดำเนินการ
- แพ็กเกจ: การเรียกใช้
setPackage("com.google.android.apps.maps")
จะตรวจสอบว่าแอป Google Maps สำหรับ Android จัดการ Intent ได้ หากไม่ได้ตั้งค่าแพ็กเกจไว้ ระบบจะกำหนดว่าแอปใดจัดการIntent
ได้ หากมีแอปหลายแอป ระบบอาจถามผู้ใช้ว่าต้องการใช้แอปใด
หลังจากสร้าง Intent
แล้ว คุณสามารถขอให้ระบบเปิดแอปที่เกี่ยวข้องได้หลายวิธี วิธีทั่วไปคือการส่ง Intent
ไปยังเมธอด startActivity()
ระบบจะเปิดแอปที่จำเป็น ซึ่งในกรณีนี้คือ Google Maps และเริ่ม Activity
ที่เกี่ยวข้อง
Java
// Create a Uri from an intent string. Use the result to create an Intent. Uri gmmIntentUri = Uri.parse("google.streetview:cbll=46.414382,10.013988"); // Create an Intent from gmmIntentUri. Set the action to ACTION_VIEW Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); // 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);
Kotlin
// Create a Uri from an intent string. Use the result to create an Intent. val gmmIntentUri = Uri.parse("google.streetview:cbll=46.414382,10.013988") // Create an Intent from gmmIntentUri. Set the action to ACTION_VIEW val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri) // 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
คุณไม่ควรใช้ Intent และควรปิดใช้ฟีเจอร์ที่เรียกใช้ Intent หากเป็นไปได้
Java
if (mapIntent.resolveActivity(getPackageManager()) != null) { ... }
Kotlin
mapIntent.resolveActivity(packageManager)?.let { ... }
เช่น หากต้องการแสดงแผนที่ของซานฟรานซิสโก คุณสามารถใช้โค้ดต่อไปนี้
Java
Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194"); Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); mapIntent.setPackage("com.google.android.apps.maps"); if (mapIntent.resolveActivity(getPackageManager()) != null) { startActivity(mapIntent); }
Kotlin
val gmmIntentUri = Uri.parse("geo:37.7749,-122.4194") val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri) mapIntent.setPackage("com.google.android.apps.maps") mapIntent.resolveActivity(packageManager)?.let { startActivity(mapIntent) }
สตริงการค้นหาที่เข้ารหัส URL
สตริงทั้งหมดที่ส่งไปยัง Intent ของ Google Maps ต้องเข้ารหัส URI เช่น สตริง "1st & Pike, Seattle" ควรเปลี่ยนเป็น 1st%20%26%20Pike%2C%20Seattle
เว้นวรรคในสตริงสามารถเข้ารหัสด้วย %20 หรือแทนที่ด้วยเครื่องหมายบวก (+)
คุณสามารถใช้เมธอด android.net.Uri
parse()
เพื่อเข้ารหัสสตริงได้
เช่น
Java
Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4192?q=" + Uri.encode("1st & Pike, Seattle"));
Kotlin
val gmmIntentUri = Uri.parse("geo:37.7749,-122.4192?q=" + Uri.encode("1st & Pike, Seattle"))
การแสดงแผนที่
ใช้ Intent geo:
เพื่อแสดงแผนที่ที่ตำแหน่งและระดับการซูมที่ระบุ
geo:latitude,longitude?z=zoom
พารามิเตอร์
latitude
และlongitude
กำหนดจุดศูนย์กลางของแผนที่z
กำหนดระดับการซูมเริ่มต้นของแผนที่ (ไม่บังคับ) ค่าที่ยอมรับมีตั้งแต่ 0 (ทั้งโลก) ถึง 21 (อาคารแต่ละหลัง) ขีดจํากัดบนอาจแตกต่างกันไปโดยขึ้นอยู่กับข้อมูลแผนที่ที่มีอยู่ในสถานที่ที่เลือก
ตัวอย่าง
Java
// 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);
Kotlin
// Creates an Intent that will load a map of San Francisco val gmmIntentUri = Uri.parse("geo:37.7749,-122.4194") val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri) mapIntent.setPackage("com.google.android.apps.maps") startActivity(mapIntent)
กำลังค้นหาสถานที่
ใช้ Intent นี้เพื่อแสดงคำค้นหาภายในวิวพอร์ตที่ระบุ เมื่อการค้นหาแสดงผลลัพธ์รายการเดียว คุณสามารถใช้ Intent นี้เพื่อแสดงหมุดที่สถานที่หรือที่อยู่หนึ่งๆ เช่น จุดสังเกต ธุรกิจ ลักษณะทางภูมิศาสตร์ หรือเมือง
geo:latitude,longitude?q=query geo:0,0?q=my+street+address geo:0,0?q=latitude,longitude(label)
พารามิเตอร์
นอกเหนือจากพารามิเตอร์ที่ใช้แสดงแผนที่แล้ว Search ยังรองรับพารามิเตอร์ต่อไปนี้ด้วย
q
กำหนดสถานที่ที่จะไฮไลต์บนแผนที่ ต้องระบุพารามิเตอร์q
สำหรับคำขอ Search ทั้งหมด โดยรับสถานที่เป็นชื่อสถานที่หรือที่อยู่ สตริงควรเข้ารหัส URL ดังนั้นที่อยู่อย่าง "ศาลาว่าการ นครนิวยอร์ก รัฐนิวยอร์ก" ควรแปลงเป็น City+Hall,New+York,NYlabel
ช่วยให้คุณตั้งค่าป้ายกำกับที่กำหนดเอง ณ สถานที่ที่ระบุไว้ในแผนที่ได้ ต้องระบุlabel
เป็นสตริง
การค้นหาแบบหมวดหมู่
หากคุณส่งข้อความค้นหาทั่วไป Google Maps จะพยายามค้นหาสถานที่ใกล้กับละติจูด/ลองจิจูดที่คุณระบุซึ่งตรงกับเกณฑ์ของคุณ หากไม่ได้ระบุสถานที่ Google Maps จะพยายามค้นหาข้อมูลใกล้เคียง เช่น
Java
// 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); // Search for restaurants in San Francisco Uri gmmIntentUri = Uri.parse("geo:37.7749,-122.4194?q=restaurants"); Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); mapIntent.setPackage("com.google.android.apps.maps"); startActivity(mapIntent);
Kotlin
// Search for restaurants nearby val gmmIntentUri = Uri.parse("geo:0,0?q=restaurants") val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri) mapIntent.setPackage("com.google.android.apps.maps") startActivity(mapIntent) // Search for restaurants in San Francisco val gmmIntentUri = Uri.parse("geo:37.7749,-122.4194?q=restaurants") val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri) mapIntent.setPackage("com.google.android.apps.maps") startActivity(mapIntent)
คุณปรับน้ำหนักผลการค้นหาเพิ่มเติมได้ด้วยการระบุพารามิเตอร์การซูมพร้อมกับสตริงการค้นหา ในตัวอย่างด้านล่าง การเพิ่มการซูมเป็น 10 จะพยายามค้นหาร้านอาหารในระดับเมืองแทนที่จะเป็นบริเวณใกล้เคียง
Java
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);
Kotlin
val gmmIntentUri = Uri.parse("geo:37.7749,-122.4194?z=10&q=restaurants") val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri) mapIntent.setPackage("com.google.android.apps.maps") startActivity(mapIntent)
การค้นหาสถานที่ตั้ง
การค้นหาที่อยู่ที่เฉพาะเจาะจงจะแสดงหมุดที่ตำแหน่งนั้น
Java
Uri gmmIntentUri = Uri.parse("geo:0,0?q=1600 Amphitheatre Parkway, Mountain+View, California"); Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); mapIntent.setPackage("com.google.android.apps.maps"); startActivity(mapIntent);
Kotlin
val gmmIntentUri = Uri.parse("geo:0,0?q=1600 Amphitheatre Parkway, Mountain+View, California") val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri) mapIntent.setPackage("com.google.android.apps.maps") startActivity(mapIntent)
ตัวอย่างข้างต้นตั้งค่าละติจูด/ลองจิจูดเป็น 0
,0
แต่ส่งที่อยู่เป็นสตริงการค้นหา เมื่อค้นหาสถานที่ที่เฉพาะเจาะจงมาก คุณไม่จำเป็นต้องระบุละติจูดและลองจิจูด อย่างไรก็ตาม หากไม่ทราบที่อยู่จริง คุณสามารถลองกำหนดผลการค้นหาโดยระบุพิกัด เช่น การค้นหาที่อยู่ "ถนนใหญ่" จะแสดงผลลัพธ์มากเกินไป
Java
// Searching for 'Main Street' will return too many results Uri gmmIntentUri = Uri.parse("geo:0,0?q=101+main+street");
Kotlin
// Searching for 'Main Street' will return too many results val gmmIntentUri = Uri.parse("geo:0,0?q=101+main+street")
การเพิ่ม lat/lng ลงใน URI ของ Intent จะทําให้ผลการค้นหาเอนเอียงไปยังพื้นที่หนึ่งๆ ดังนี้
Java
// Searches for '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);
Kotlin
// Searches for 'Main Street' near San Francisco val gmmIntentUri = Uri.parse("geo:37.7749,-122.4194?q=101+main+street") val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri) mapIntent.setPackage("com.google.android.apps.maps") startActivity(mapIntent)
เมื่อทราบว่าการค้นหาจะแสดงผลค่าเดียว คุณอาจต้องส่งผ่านป้ายกำกับที่ไม่บังคับ ป้ายกำกับต้องระบุเป็นสตริง และจะปรากฏใต้เครื่องหมายบนแผนที่ โปรดทราบว่าป้ายกำกับจะใช้ได้ก็ต่อเมื่อระบุ q
เป็นพิกัด lat/lng
Java
// Display a label at the location of Google's Sydney office Uri gmmIntentUri = Uri.parse("geo:0,0?q=Google+Sydney@-33.8666,151.1957"); Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); mapIntent.setPackage("com.google.android.apps.maps"); startActivity(mapIntent);
Kotlin
// Display a label at the location of Google's Sydney office val gmmIntentUri = Uri.parse("geo:0,0?q=-33.8666,151.1957(Google+Sydney)") val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri) mapIntent.setPackage("com.google.android.apps.maps") startActivity(mapIntent)
คุณแสดงหมุดที่ตำแหน่งที่ทราบได้โดยใช้ Plus Code แทนที่อยู่หรือละติจูด/ลองจิจูด
Java
// Display the location of Google, San Francisco using a global plus code. Uri gmmIntentUri = Uri.parse("http://plus.codes/849VQJQ5+XX"); // Equivalently, define the same location using a local plus code gmmIntentUri = Uri.parse("https://plus.codes/QJQ5+XX,San%20Francisco"); // Construct and use the Intent as in the examples above
Kotlin
// Display the location of Google, San Francisco using a global plus code. var gmmIntentUri = Uri.parse("http://plus.codes/849VQJQ5+XX") // Equivalently, define the same location using a local plus code gmmIntentUri = Uri.parse("https://plus.codes/QJQ5+XX,San%20Francisco") // Construct and use the Intent as in the examples above
การเริ่มใช้งานการนำทางแบบเลี้ยวต่อเลี้ยว
ใช้ Intent นี้เพื่อเปิดการนําทางของ Google Maps พร้อมเส้นทางแบบเลี้ยวต่อเลี้ยวไปยังที่อยู่หรือพิกัดที่ระบุ ระบบจะแสดงเส้นทางจากตำแหน่งปัจจุบันของผู้ใช้เสมอ
google.navigation:q=a+street+address google.navigation:q=latitude,longitude
พารามิเตอร์
q
: ตั้งค่าจุดสิ้นสุดสำหรับการค้นหาการนำทาง ค่านี้อาจเป็นพิกัดละติจูด ลองจิจูด หรือที่อยู่รูปแบบการค้นหา หากเป็นสตริงการค้นหาที่แสดงผลลัพธ์มากกว่า 1 รายการ ระบบจะเลือกผลลัพธ์แรกmode
กำหนดวิธีการขนส่ง โหมดเป็นตัวเลือกที่ไม่บังคับและสามารถตั้งค่าเป็นค่าใดค่าหนึ่งต่อไปนี้d
สำหรับขับรถ (ค่าเริ่มต้น)b
สำหรับปั่นจักรยานl
สำหรับมอเตอร์ไซค์w
สำหรับการเดิน
avoid
กำหนดองค์ประกอบที่เส้นทางควรหลีกเลี่ยง หลีกเลี่ยงเป็นตัวเลือกที่ไม่บังคับและสามารถตั้งค่าเป็นค่าต่อไปนี้อย่างน้อย 1 ค่าt
สำหรับค่าผ่านทางh
สำหรับทางหลวงf
สำหรับเรือเฟอร์รี
ตัวอย่าง
Intent
ด้านล่างจะขอเส้นทางแบบเลี้ยวต่อเลี้ยวไปยังสวนสัตว์ Taronga ในซิดนีย์ ออสเตรเลีย
Java
Uri gmmIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia"); Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); mapIntent.setPackage("com.google.android.apps.maps"); startActivity(mapIntent);
Kotlin
val gmmIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia") val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri) mapIntent.setPackage("com.google.android.apps.maps") startActivity(mapIntent)
หากไม่ต้องการจ่ายค่าผ่านทางหรือนั่งเรือข้ามฟาก คุณสามารถขอเส้นทางที่พยายามหลีกเลี่ยงสิ่งเหล่านั้นได้
Java
Uri gmmIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&avoid=tf"); Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); mapIntent.setPackage("com.google.android.apps.maps"); startActivity(mapIntent);
Kotlin
val gmmIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&avoid=tf") val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri) mapIntent.setPackage("com.google.android.apps.maps") startActivity(mapIntent)
หากต้องการออกกําลังกายสักหน่อย คุณสามารถขอเส้นทางปั่นจักรยานแทนได้
Java
Uri gmmIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&mode=b"); Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); mapIntent.setPackage("com.google.android.apps.maps"); startActivity(mapIntent);
Kotlin
val gmmIntentUri = Uri.parse("google.navigation:q=Taronga+Zoo,+Sydney+Australia&mode=b") val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri) mapIntent.setPackage("com.google.android.apps.maps") startActivity(mapIntent)
หากต้องการใช้ยานพาหนะ 2 ล้อที่ขับเคลื่อนด้วยเครื่องยนต์ คุณสามารถขอให้เส้นทางแสดงถนนแคบและเส้นทางที่รถยนต์ใช้ไม่ได้ intent
ด้านล่างแสดงผลเป็นเส้นทางในอินเดีย
Java
Uri gmmIntentUri = Uri.parse("google.navigation:q=Connaught+Place,+New+Delhi,Delhi&mode=l"); Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); mapIntent.setPackage("com.google.android.apps.maps"); startActivity(mapIntent);
Kotlin
val gmmIntentUri = Uri.parse("google.navigation:q=Connaught+Place,+New+Delhi,Delhi&mode=l") val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri) mapIntent.setPackage("com.google.android.apps.maps") startActivity(mapIntent)
การแสดงภาพพาโนรามาใน Street View
ใช้ Intent google.streetview
เพื่อเปิด Google Street View Google Street View แสดงภาพพาโนรามาจากสถานที่ที่กำหนดไว้ทั่วพื้นที่ให้บริการ
นอกจากนี้ คุณยังดูภาพ 360 องศาที่ผู้ใช้สร้างขึ้นและคอลเล็กชันพิเศษของ Street View ได้ด้วย
google.streetview:cbll=latitude,longitude&cbp=0,bearing,0,zoom,tilt google.streetview:panoid=id&cbp=0,bearing,0,zoom,tilt
พารามิเตอร์
URI google.streetview
ทั้งหมดต้องมีพารามิเตอร์ cbll
หรือ panoid
cbll
ยอมรับละติจูดและลองจิจูดเป็นค่าที่คั่นด้วยคอมมา (46.414382,10.013988
) แอปจะแสดงภาพพาโนรามาที่ถ่ายไว้ใกล้กับตำแหน่งนี้มากที่สุด เนื่องจากภาพ Street View จะรีเฟรชเป็นระยะๆ และรูปภาพอาจถ่ายจากตําแหน่งที่แตกต่างกันเล็กน้อยทุกครั้ง จึงเป็นไปได้ว่าตำแหน่งของคุณอาจเปลี่ยนไปเป็นภาพพาโนรามาอื่นเมื่อมีการอัปเดตภาพpanoid
คือรหัสพาโนรามาเฉพาะ Google Maps จะใช้รหัสภาพพาโนรามาหากระบุทั้งpanoid
และcbll
รหัสพาโนรามาพร้อมใช้งานสำหรับแอป Android จากออบเจ็กต์StreetViewPanoramaLocation
cbp
คือพารามิเตอร์ที่ไม่บังคับซึ่งจะปรับการวางแนวเริ่มต้นของกล้อง พารามิเตอร์cbp
ใช้ค่า 5 ค่าที่คั่นด้วยคอมมา โดยทั้งหมดเป็นค่าที่ไม่บังคับ ค่าที่สำคัญที่สุดคือค่าที่ 2, 4 และ 5 ซึ่งกำหนดทิศทางการซูมและการเอียงตามลำดับ ระบบไม่รองรับค่าแรกและค่าที่ 3 และควรตั้งค่าเป็น0
bearing
: ระบุทิศทางเข็มทิศของกล้องเป็นองศาตามเข็มนาฬิกาจากทิศเหนือ ทิศเหนือจริงคือ 0, ตะวันออกคือ 90, ใต้คือ 180 และตะวันตกคือ 270 ค่าที่ส่งไปยังการนําทางจะวนซ้ำ กล่าวคือ 0°, 360° และ 720° ทั้งหมดจะชี้ไปในทิศทางเดียวกัน ทิศทางหมายถึงค่าที่ 2 จาก 5 ค่าที่คั่นด้วยคอมมาzoom
: ตั้งค่าระดับการซูมของกล้อง ระดับการซูมเริ่มต้นจะตั้งค่าไว้ที่ 0 การซูม 1 จะเพิ่มการขยายเป็น 2 เท่า การซูมจะจำกัดอยู่ในช่วง 0 ถึงระดับการซูมสูงสุดของภาพพาโนรามาปัจจุบัน ซึ่งหมายความว่าค่าที่อยู่นอกช่วงนี้จะได้รับการตั้งค่าเป็นค่าสุดขั้วที่อยู่ภายในช่วงนี้ เช่น ค่า -1 จะตั้งค่าเป็น 0 ซูมเป็นค่าที่ 4 จาก 5 ค่าที่คั่นด้วยคอมมาtilt
: ระบุมุมของกล้องว่าสูงหรือต่ำ ช่วงคือ -90 ถึง 90 โดย 90 หมายถึงมองตรงลง 0 หมายถึงตรงกับขอบฟ้า และ -90 หมายถึงมองตรงขึ้น
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างบางส่วนของการใช้ Intent ของ Street View
Java
// Displays an image of the Swiss Alps Uri gmmIntentUri = Uri.parse("google.streetview:cbll=46.414382,10.013988"); Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); mapIntent.setPackage("com.google.android.apps.maps"); startActivity(mapIntent); // Uses a PanoID to show an image from Maroubra beach in Sydney, Australia Uri gmmIntentUri = Uri.parse("google.streetview:panoid=Iaa2JyfIggYAAAQfCZU9KQ"); Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); mapIntent.setPackage("com.google.android.apps.maps"); startActivity(mapIntent); // Opens Street View between two Pyramids in Giza. The values passed to the // cbp parameter will angle the camera slightly up, and towards the east. Uri gmmIntentUri = Uri.parse("google.streetview:cbll=29.9774614,31.1329645&cbp=0,30,0,0,-15"); Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); mapIntent.setPackage("com.google.android.apps.maps"); startActivity(mapIntent);
Kotlin
// Displays an image of the Swiss Alps val gmmIntentUri = Uri.parse("google.streetview:cbll=46.414382,10.013988") val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri) mapIntent.setPackage("com.google.android.apps.maps") startActivity(mapIntent) // Uses a PanoID to show an image from Maroubra beach in Sydney, Australia val gmmIntentUri = Uri.parse("google.streetview:panoid=Iaa2JyfIggYAAAQfCZU9KQ") val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri) mapIntent.setPackage("com.google.android.apps.maps") startActivity(mapIntent) // Opens Street View between two Pyramids in Giza. The values passed to the // cbp parameter will angle the camera slightly up, and towards the east. val gmmIntentUri = Uri.parse("google.streetview:cbll=29.9774614,31.1329645&cbp=0,30,0,0,-15") val mapIntent = Intent(Intent.ACTION_VIEW, gmmIntentUri) mapIntent.setPackage("com.google.android.apps.maps") startActivity(mapIntent)