แอป Google Maps สําหรับ Android แสดง Intent หลายรายการที่คุณสามารถใช้เพื่อเปิด Google Maps ในโหมดแสดงผล การค้นหา การนำทาง หรือ Street View หากต้องการฝังแผนที่ในแอป โปรดดูการเริ่มต้นใช้งาน Maps SDK สำหรับ Android ฉบับย่อ
สำหรับแพลตฟอร์ม Android Automotive OS (AAOS) จะมีข้อควรพิจารณาที่เฉพาะเจาะจงและ Intent เพิ่มเติม ดูรายละเอียดเพิ่มเติมในเอกสารประกอบเกี่ยวกับ Intent ของ Google Maps สำหรับ Android Automotive
ภาพรวม
Intent ช่วยให้คุณเริ่มกิจกรรมในแอปอื่นได้โดยอธิบายการดำเนินการที่ต้องการทำ (เช่น "แสดงแผนที่" หรือ "แสดงเส้นทางไปยังสนามบิน") ในออบเจ็กต์ Intent
แอป Google Maps สําหรับ Androidรองรับ Intent หลายรายการ ซึ่งช่วยให้คุณเปิดแอป Google Maps และดําเนินการอย่างใดอย่างหนึ่งต่อไปนี้ได้
- แสดงแผนที่ที่ตำแหน่งและระดับการซูมที่ระบุ
- ค้นหาสถานที่หรือจุดหมาย และแสดงบนแผนที่
- ขอเส้นทางจากสถานที่หนึ่งไปยังอีกสถานที่หนึ่ง ระบบจะแสดงเส้นทางสำหรับ 3 โหมดการเดินทาง ได้แก่ การขับรถ เดิน และปั่นจักรยาน
- แสดงภาพพาโนรามาใน Google Street View
หน้านี้อธิบาย Intent ที่คุณสามารถใช้กับแอป Google Maps สําหรับ Android ดูข้อมูลเพิ่มเติมเกี่ยวกับ Intent ได้ที่Intent และตัวกรอง Intent และIntent ที่พบบ่อย
คำขอ Intent
หากต้องการเปิด Google Maps ด้วย Intent คุณต้องสร้างออบเจ็กต์ Intent
ก่อน โดยระบุการดำเนินการ, URI และแพ็กเกจ
- การดำเนินการ: อินเทนต์ทั้งหมดของ Google Maps จะเรียกเป็นการดำเนินการ "ดู"
ACTION_VIEW
- URI: Intent ของ Google Maps ใช้ URI ที่เข้ารหัส 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
สตริงทั้งหมดที่ส่งไปยัง 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 loads 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 loads 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, NY
ควรแปลงเป็นCity+Hall,New+York,NY
label
ช่วยให้คุณตั้งค่าป้ายกำกับที่กำหนดเองในสถานที่ที่ระบุบนแผนที่ได้ ต้องระบุ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' returns too many results.
Uri gmmIntentUri = Uri.parse("geo:0,0?q=101+main+street");
Kotlin
// Searching for 'Main Street' returns 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 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 preceding examples.
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 preceding examples.
เปิดการนำทางแบบเลี้ยวต่อเลี้ยว
ใช้ Intent URI นี้เพื่อเปิดการนําทางของ Google Maps พร้อมเส้นทางแบบเลี้ยวต่อเลี้ยวไปยังที่อยู่หรือพิกัดที่ระบุ ระบบจะแสดงเส้นทางจากตำแหน่งปัจจุบันของผู้ใช้เสมอ
google.navigation:q=a+street+address
google.navigation:q=latitude,longitude
พารามิเตอร์
q
: ตั้งค่าปลายทางสําหรับการค้นหาการนําทาง ค่านี้อาจเป็นพิกัดละติจูดและลองจิจูด หรือที่อยู่ในรูปแบบการค้นหา หากเป็นสตริงการค้นหาที่แสดงผลลัพธ์มากกว่า 1 รายการ ระบบจะเลือกผลลัพธ์แรกmode
กำหนดวิธีการขนส่งmode
เป็นตัวเลือกและสามารถตั้งค่าเป็นค่าใดค่าหนึ่งต่อไปนี้ได้d
สำหรับขับรถ (ค่าเริ่มต้น)b
สำหรับปั่นจักรยานl
สำหรับมอเตอร์ไซค์w
สำหรับการเดิน
avoid
กำหนดองค์ประกอบที่เส้นทางควรหลีกเลี่ยง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
พารามิเตอร์
google.streetview
URI ทั้งหมดต้องมีพารามิเตอร์ 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 และตะวันตกคือ- ค่าที่ส่งไปยังการหมุนของพิกัดทิศทาง ซึ่งก็คือ 0°, 360° และ 720° ที่ชี้ไปในทิศทางเดียวกัน ทิศทางจะกำหนดเป็นค่าที่ 2 จาก 5 ค่าที่คั่นด้วยคอมมา
zoom
: ตั้งค่าระดับการซูมของกล้อง ระดับการซูมเริ่มต้นจะตั้งไว้ที่ 0 การซูม 1 จะเพิ่มการขยายเป็น 2 เท่า การซูมจะจำกัดอยู่ในช่วง 0 ถึงระดับการซูมสูงสุดของภาพพาโนรามาปัจจุบัน ซึ่งหมายความว่าค่าที่อยู่นอกช่วงนี้จะได้รับการตั้งค่าเป็นค่าสุดขั้วที่ใกล้ที่สุดซึ่งอยู่ภายในช่วง เช่น ค่า -1 จะตั้งค่าเป็น 0 ซูมเป็นค่าที่ 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 angles 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 angles 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)
