แอป Google Maps สําหรับ Android มีความตั้งใจมากมายที่คุณสามารถใช้เพื่อเปิดตัว Google Maps ในโหมดดิสเพลย์ การค้นหา การนําทาง หรือ Street View หากต้องการฝังแผนที่ในแอป โปรดดูคู่มือเริ่มต้นใช้งานสําหรับ Google Maps สําหรับ Android
ภาพรวม
Intent ช่วยให้คุณเริ่มต้นกิจกรรมในแอปอื่นได้โดยการอธิบายการทํางานง่ายๆ ที่คุณต้องการทํา (เช่น "แสดงแผนที่" หรือ "แสดงเส้นทางไปยังสนามบิน") ในออบเจ็กต์ Intent
แอป Google Maps สําหรับ Android
สนับสนุนความตั้งใจที่แตกต่างหลายอย่าง ทําให้คุณสามารถเปิดแอป Google Maps
และดําเนินการอย่างใดอย่างหนึ่งต่อไปนี้
- แสดงแผนที่ในตําแหน่งที่เฉพาะเจาะจงและระดับการซูม
- ค้นหาสถานที่หรือสถานที่ แล้วแสดงบนแผนที่
- ขอเส้นทางจากตําแหน่งหนึ่งไปยังอีกตําแหน่งหนึ่ง สามารถคืนเส้นทางสําหรับการเดินทางได้ 3 รูปแบบ ได้แก่ ขับรถ เดิน ปั่นจักรยาน
- แสดงภาพพาโนรามาใน Google Street View
หน้านี้อธิบายความตั้งใจที่คุณสามารถใช้กับแอป Google Maps สําหรับ Android โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับตัวกรอง Intent และ Intent หรือIntent ที่พบได้ทั่วไปในแพลตฟอร์ม Android ในเอกสารประกอบสําหรับนักพัฒนาซอฟต์แวร์ Android
คําขอโดยเจตนา
ในการเปิดใช้ Google Maps ด้วยความตั้งใจ คุณต้องสร้างออบเจ็กต์ Intent
ก่อนโดยระบุการดําเนินการ, URI และแพ็กเกจ
- การดําเนินการ: จะเรียกเจตนาทั้งหมดของ Google Maps ว่า "ดู" —
ACTION_VIEW
- URI: ความตั้งใจของ 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
หากผลลัพธ์ไม่เป็น Null แสดงว่ามีแอปอย่างน้อย 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
สตริงทั้งหมดที่ส่งไปยัง Google Maps Intent ต้องมีการเข้ารหัส URI เช่น สตริง "1 และ Pike, ซีแอตเทิล" ควรเป็น 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 นี้เพื่อแสดงคําค้นหาภายในวิวพอร์ตที่ระบุ เมื่อการค้นหามีผลลัพธ์เดียว คุณสามารถใช้ Intent นี้เพื่อแสดง PIN ในสถานที่หรือที่อยู่ที่เจาะจง เช่น จุดสังเกต ธุรกิจ สถานที่ทางภูมิศาสตร์ หรือเมืองได้
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 แผนที่จะพยายามค้นหารายชื่อใกล้เคียง เช่น
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")
การเพิ่มละติจูด/ลองจิจูดลงใน 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)
คุณใช้หมุดแสดงสถานที่ตั้งที่รู้จักกับที่อยู่หรือละติจูด/ลองจิจูดได้ ทั้งนี้ขึ้นอยู่กับที่อยู่หรือละติจูด
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
กําหนดฟีเจอร์ที่เส้นทางควรพยายามหลีกเลี่ยง หลีกเลี่ยงตัวเลือกที่ไม่บังคับ และสามารถตั้งค่าเป็นอย่างใดอย่างหนึ่งต่อไปนี้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 นําเสนอมุมมองแบบพาโนรามาจากสถานที่ที่กําหนดในพื้นที่ที่ครอบคลุม
นอกจากนี้ยังมีโฟโตสเฟียร์ที่ผู้ใช้ส่งมาและคอลเล็กชันพิเศษของ 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 ที่ตั้งค่าทิศทาง ซูม และเอียงตามลําดับ ไม่รองรับค่าแรกและค่าที่สาม และควรตั้งค่าเป็น0
bearing
: แสดงทิศทางเข็มทิศของกล้องถ่ายรูปเป็นองศาตามเข็มนาฬิกาจากทิศเหนือ ทิศเหนือจริงคือ 0 ทิศตะวันออกคือ 90 ทิศใต้คือ 180 ทิศตะวันตกคือ 270 ค่าที่ส่งไปยัง "ทิศทาง" จะรวมกัน ซึ่งก็คือ 0°, 360° และ 720° ล้วนในทิศทางเดียวกัน ทิศทางของแบริ่งคือค่าที่สอง จากห้าค่าที่คั่นด้วยเครื่องหมายจุลภาคzoom
: ตั้งค่าระดับการซูมของกล้อง ระดับการซูมเริ่มต้นจะตั้งไว้ที่ 0 การซูม 1 จะเป็นการขยายขึ้น 2 เท่า การซูมจะถูกบีบระหว่าง 0 ถึงระดับการซูมสูงสุดสําหรับภาพพาโนรามาปัจจุบัน ซึ่งหมายความว่า ค่าที่ตกอยู่นอกช่วงนี้จะถูกตั้งเป็นค่าสูงสุดที่ต่ําที่สุดที่อยู่ในช่วงนั้น เช่น ค่า -1 จะถูกตั้งเป็น 0 Zoom คือค่าที่คั่นด้วยจุลภาค 4 จาก 5 ค่าtilt
: ระบุมุมบนหรือล่างของกล้องถ่ายรูป ช่วงจะเป็น -90 ถึง 00 โดย 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)