แอป Google Maps สำหรับ Android มีฟีเจอร์มากมายที่คุณนำไปใช้เปิด Google Maps ในโหมดแสดงผล การค้นหา การนำทาง หรือ Street View ได้ หากคุณต้องการฝังแผนที่ในแอป โปรดอ่านคู่มือเริ่มต้นใช้งานของ Google Maps Android API
ภาพรวม
Intent ช่วยให้คุณเริ่มกิจกรรมในแอปอื่นได้โดยอธิบายการกระทำง่ายๆ ที่คุณต้องการทำ (เช่น "แสดงแผนที่" หรือ "แสดงเส้นทางไปยังสนามบิน") ในออบเจ็กต์ Intent
แอป Google Maps สำหรับ Android รองรับความตั้งใจที่หลากหลาย ซึ่งช่วยให้คุณเปิดแอป Google Maps และดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้ได้
- แสดงแผนที่ในตำแหน่งและระดับการซูมที่ระบุ
- ค้นหาสถานที่หรือสถานที่ แล้วแสดงบนแผนที่
- ขอเส้นทางจากสถานที่หนึ่งไปยังอีกสถานที่หนึ่ง เราสามารถส่งคืนเส้นทางสำหรับการเดินทาง 3 รูปแบบ ได้แก่ การขับรถ การเดิน การขี่จักรยาน
- แสดงภาพพาโนรามาใน Google Street View
หน้านี้อธิบายความตั้งใจที่คุณสามารถใช้กับแอป Google Maps สำหรับ Android ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวกรอง Intent และ Intent หรือ Intent ทั่วไปสำหรับแพลตฟอร์ม Android ได้ที่เอกสารสำหรับนักพัฒนาซอฟต์แวร์ Android
คำขอ Intent
ในการเปิดใช้งาน Google Maps ด้วย Intent ก่อนอื่นคุณต้องสร้างออบเจ็กต์ Intent
โดยระบุการทำงาน URI และแพ็กเกจของออบเจ็กต์
- การดำเนินการ: Intent ทั้งหมดของ 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 ให้เรียกใช้ resolveActivity()
ในออบเจ็กต์ Intent
ของคุณ หากผลลัพธ์ไม่เป็นค่าว่าง แสดงว่ามีแอปอย่างน้อย 1 แอปที่จัดการกับความตั้งใจของคุณและสามารถเรียกใช้ 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"))
กำลังแสดงแผนที่
ใช้ความตั้งใจ 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 นี้เพื่อแสดงหมุด ณ สถานที่หรือที่อยู่ที่เฉพาะเจาะจง เช่น จุดสังเกต ธุรกิจ คุณลักษณะทางภูมิศาสตร์ หรือเมือง
geo:latitude,longitude?q=query geo:0,0?q=my+street+address geo:0,0?q=latitude,longitude(label)
พารามิเตอร์
นอกจากพารามิเตอร์ที่ใช้เพื่อแสดงแผนที่แล้ว Search ยังรองรับพารามิเตอร์ต่อไปนี้ด้วย
q
กำหนดสถานที่ที่จะไฮไลต์ในแผนที่ ต้องระบุพารามิเตอร์q
สำหรับคำขอการค้นหาทั้งหมด และยอมรับสถานที่เป็น ชื่อหรือที่อยู่ของสถานที่ สตริงควรเข้ารหัส URL ดังนั้นที่อยู่ เช่น "City Hall, New York, NY" ควรแปลงเป็น 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
แต่ส่งที่อยู่เป็นสตริงการค้นหา เมื่อค้นหาสถานที่ที่เฉพาะเจาะจงมาก ก็ไม่จำเป็นต้องระบุละติจูดและลองจิจูด แต่ถ้าคุณไม่ทราบที่อยู่ที่แน่นอน คุณอาจพยายามทำให้ผลการค้นหาเกิดความคลาดเคลื่อนได้ด้วยการระบุพิกัด ตัวอย่างเช่น การค้นหาที่อยู่ด้วยคำว่า 'Main Street' จะแสดงผลลัพธ์มากเกินไป
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")
การเพิ่มละติจูด/ลองจิจูดลงใน 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
เป็นพิกัดละติจูด/ลองจิจูดเท่านั้น
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 เพื่อแทนที่ที่อยู่หรือละติจูด/ลองจิจูด
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
กำลังเปิดการนำทางแบบเลี้ยวต่อเลี้ยว
ใช้ความตั้งใจนี้เพื่อเปิดการนำทางของ 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
ด้านล่างนี้จะขอการนำทางแบบเลี้ยวต่อเลี้ยวไปยังสวนสัตว์ทารองก้าในซิดนีย์ออสเตรเลีย:
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)
หากคุณต้องการใช้มอเตอร์ไซค์ ก็ขอเส้นทางที่มีถนนแคบและเส้นทางที่รถยนต์ใช้งานไม่ได้ 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
มีมุมมองพาโนรามาจากตำแหน่งที่กำหนดทั่วทั้งพื้นที่ครอบคลุม
นอกจากนี้ยังมี Photosphere ที่ผู้ใช้ส่งและคอลเล็กชันพิเศษของ 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° ทุกจุดในทิศทางเดียวกัน ค่า Bearing เป็นค่าที่ 2 จาก 5 ค่าที่คั่นด้วยเครื่องหมายจุลภาคzoom
: ตั้งค่าระดับการซูมของกล้อง ระดับการซูมเริ่มต้นจะตั้งไว้ที่ 0 การซูม 1 จะเพิ่มการขยายเป็น 2 เท่า การซูมจะถูกบีบระหว่าง 0 ถึงระดับการซูมสูงสุดสำหรับพาโนรามาปัจจุบัน ซึ่งหมายความว่าค่าใดๆ ที่อยู่นอกช่วงนี้จะถูกตั้งค่าให้ใกล้เคียงที่สุดและอยู่ในช่วงที่กำหนด เช่น หากตั้งค่า -1 จะเป็น 0 Zoom เป็นค่าที่ 4 จาก 5 ค่าที่คั่นด้วยคอมมาtilt
: ระบุมุมขึ้นหรือลงของกล้อง ช่วงค่าคือ -90 ถึง 0 ถึง 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)