คลาสที่มีวิธีสร้างวัตถุ CameraUpdate ที่เปลี่ยนกล้องของแผนที่
หากต้องการแก้ไขกล้องของแผนที่ ให้เรียก animateCamera(CameraUpdate), animateCamera(CameraUpdate, GoogleMap.CancelableCallback) หรือ moveCamera(CameraUpdate) โดยใช้ออบเจ็กต์ CameraUpdate ที่สร้างด้วยคลาสนี้
ตัวอย่างเช่น หากต้องการซูมเข้าในแผนที่ คุณสามารถใช้โค้ดต่อไปนี้
GoogleMap map = ...;
map.animateCamera(CameraUpdateFactory.zoomIn());
ก่อนที่จะใช้เมธอดใดๆ จากชั้นเรียนนี้ คุณต้องทำอย่างใดอย่างหนึ่งต่อไปนี้เพื่อให้ เริ่มต้นคลาสนี้:
- รอให้
GoogleMapพร้อมใช้งานจากMapFragmentหรือMapViewที่คุณเพิ่มไว้ในแอปพลิเคชัน คุณสามารถขอรับGoogleMapโดยการเรียกgetMapAsync()และรอการเรียกกลับของonMapReady(GoogleMap map) - โทรมาที่
initialize(Context)ตราบใดที่ไม่มีการส่งGooglePlayServicesNotAvailableExceptionชั้นเรียนนี้ก็จะทำงานอย่างถูกต้อง ได้เริ่มต้นแล้ว
คู่มือนักพัฒนา
สำหรับข้อมูลเพิ่มเติม โปรดอ่านกล้องและมุมมอง คู่มือนักพัฒนาซอฟต์แวร์
ข้อมูลสรุปของเมธอดสาธารณะ
| คงที่ CameraUpdate |
newCameraPosition(ตำแหน่งกล้องCameraPosition)
แสดงผล
CameraUpdate ที่ย้ายกล้องไปยัง CameraPosition ที่ระบุ |
| คงที่ CameraUpdate |
newLatLng(LatLng latLng)
แสดง
CameraUpdate ที่ย้ายกึ่งกลางของหน้าจอไปยังละติจูดและลองจิจูด
ที่ระบุโดยออบเจ็กต์ LatLng |
| คงที่ CameraUpdate |
newLatLngBounds(ขอบเขต LatLngBounds, ความกว้าง Int, ความสูง Int, ระยะห่างจากขอบของ int)
แสดง
CameraUpdate ที่เปลี่ยนรูปแบบกล้องตามที่ระบุ
ขอบเขตละติจูด/ลองจิจูดจะอยู่กึ่งกลางบนหน้าจอภายในกรอบขอบเขตของขนาดที่ระบุ
ที่ระดับการซูมที่ดีที่สุดเท่าที่จะเป็นไปได้ |
| คงที่ CameraUpdate |
newLatLngBounds(ขอบเขต LatLngBounds, ระยะห่างจากขอบด้านใน)
แสดง
CameraUpdate ที่เปลี่ยนรูปแบบกล้องตามที่ระบุ
ขอบเขตละติจูด/ลองจิจูดจะอยู่ตรงกลางของหน้าจอในระดับการซูมที่ดีที่สุดเท่าที่เป็นไปได้ |
| คงที่ CameraUpdate |
newLatLngZoom(LatLng latLng, การซูมแบบลอยตัว)
แสดง
CameraUpdate ที่ย้ายกึ่งกลางของหน้าจอไปยังละติจูดและลองจิจูด
ที่ระบุโดยออบเจ็กต์ LatLng และย้ายไปยังระดับการซูมที่กำหนด |
| คงที่ CameraUpdate |
scrollBy(Flo xPixel, Float yPixel)
แสดง
CameraUpdate ที่เลื่อนกล้องไปบนแผนที่ โดยเปลี่ยนจุดศูนย์กลางของ
ดูตามจำนวนพิกเซลที่ระบุในทิศทาง x และ y |
| คงที่ CameraUpdate |
zoomBy(จำนวนทศนิยม การเน้นจุด)
แสดงผล
CameraUpdate ที่เลื่อนระดับการซูมของมุมมองกล้องปัจจุบัน |
| คงที่ CameraUpdate |
zoomBy(จำนวนทศนิยม)
แสดงผล
CameraUpdate ที่เลื่อนระดับการซูมของมุมมองกล้องปัจจุบัน |
| คงที่ CameraUpdate |
zoomIn()
แสดงค่า
CameraUpdate ที่ซูมเข้าในแผนที่โดยเลื่อนความสูงของมุมมองให้ใกล้ขึ้น
กับพื้นผิวโลก |
| คงที่ CameraUpdate |
zoomOut()
แสดงค่า
CameraUpdate ที่ซูมออกในแผนที่โดยการย้ายความสูงของมุมมอง
ที่อยู่ห่างจากพื้นผิวโลก |
| คงที่ CameraUpdate |
zoomTo(ซูมแบบลอย)
แสดงผล
CameraUpdate ที่ย้ายมุมมองของกล้องไปยังระดับการซูมที่ต้องการ |
สรุปวิธีการที่รับมา
วิธีการสาธารณะ
สาธารณะ คงที่ CameraUpdate newCameraPosition (CameraPositionตำแหน่งกล้อง)
แสดงผล CameraUpdate ที่ย้ายกล้องไปยัง CameraPosition ที่ระบุ ใน
ซึ่งจะสร้างการแปลงจากละติจูดของวัตถุ CameraPosition
ลองจิจูด ระดับการซูม ทิศทางการเอียง และการเอียง
พารามิเตอร์
| cameraPosition |
|---|
การคืนสินค้า
CameraUpdateที่มีการเปลี่ยนรูปแบบ
สาธารณะ คงที่ CameraUpdate newLatLng (LatLngละติจูด)
แสดง CameraUpdate ที่ย้ายกึ่งกลางของหน้าจอไปยังละติจูดและลองจิจูด
ที่ระบุโดยออบเจ็กต์ LatLng การดำเนินการนี้จะตั้งศูนย์กลางกล้องไว้ที่วัตถุ LatLng
พารามิเตอร์
| latLng | ออบเจ็กต์ LatLng ที่มีละติจูดและลองจิจูดที่ต้องการ |
|---|
การคืนสินค้า
CameraUpdateที่มีการเปลี่ยนรูปแบบ
สาธารณะ คงที่ CameraUpdate newLatLngBounds (LatLngBounds ขอบเขต, ความกว้าง int, ความสูง, ระยะห่างจากขอบของ int)
แสดง CameraUpdate ที่เปลี่ยนรูปแบบกล้องตามที่ระบุ
ขอบเขตละติจูด/ลองจิจูดจะอยู่กึ่งกลางบนหน้าจอภายในกรอบขอบเขตของขนาดที่ระบุ
ที่ระดับการซูมที่ดีที่สุดเท่าที่จะเป็นไปได้ คุณสามารถระบุระยะห่างจากขอบเพิ่มเติมเพื่อจำกัดเพิ่มเติม
ขนาดของกรอบล้อมรอบ CameraUpdate ที่แสดงผลมีระยะ 0 และมีการเอียง
0
ซึ่งคุณจะใช้CameraUpdate ได้ ซึ่งต่างจาก newLatLngBounds(LatLngBounds, int)
แสดงผลโดยวิธีการนี้เพื่อเปลี่ยนกล้องก่อนขั้นตอนการจัดวางของแผนที่ เนื่องจาก
อาร์กิวเมนต์จะระบุขนาดที่ต้องการของกรอบล้อมรอบ
พารามิเตอร์
| ขอบเขต | ด้านที่พอดีกับกรอบล้อมรอบ |
|---|---|
| ความกว้าง | ความกว้างของกรอบพื้นที่เป็นพิกเซล (px) |
| ส่วนสูง | ความสูงของกล่องที่ล้อมรอบในหน่วยพิกเซล (px) |
| padding | การจำกัดขนาดเพิ่มเติม (เป็นพิกเซล) ของกรอบล้อมรอบ |
การคืนสินค้า
CameraUpdateที่มีการเปลี่ยนรูปแบบ
สาธารณะ คงที่ CameraUpdate newLatLngBounds (LatLngBounds, ระยะห่างจากขอบภายใน)
แสดง CameraUpdate ที่เปลี่ยนรูปแบบกล้องตามที่ระบุ
ขอบเขตละติจูด/ลองจิจูดจะอยู่ตรงกลางของหน้าจอในระดับการซูมที่ดีที่สุดเท่าที่เป็นไปได้ คุณสามารถ
ระบุระยะห่างจากขอบ เพื่อใส่กรอบจากขอบของมุมมองแผนที่ ผลลัพธ์
CameraUpdate มีทิศทางเป็น 0 และการเอียงเป็น 0
ห้ามเปลี่ยนกล้องหลังจากอัปเดตกล้องนี้จนกว่าแผนที่ผ่านการปรับสภาพ (ใน
เพื่อให้วิธีการนี้ระบุกรอบล้อมรอบและระดับการซูมที่เหมาะสมได้อย่างถูกต้อง
แผนที่ต้องมีขนาด) ไม่เช่นนั้นระบบจะส่ง IllegalStateException ไม่ใช่
เพียงพอสำหรับแผนที่พร้อมใช้งาน มุมมองที่มีแผนที่จะต้อง
จนถึงขนาดที่กำหนด หากคุณไม่แน่ใจว่า
ให้ใช้ newLatLngBounds(LatLngBounds, int, int, int) แทนและระบุ
ของแผนที่ด้วยตัวเอง
พารามิเตอร์
| ขอบเขต | ขนาดพอดีกับหน้าจอ |
|---|---|
| padding | เว้นวรรค (เป็นพิกเซล) เพื่อออกระหว่างขอบของกรอบและขอบมุมมอง ช่วงเวลานี้ จะใช้กับทั้ง 4 ด้านของกรอบล้อมรอบ |
การคืนสินค้า
CameraUpdateที่มีการเปลี่ยนรูปแบบ
สาธารณะ คงที่ CameraUpdate newLatLngZoom (LatLng ละติจูด/ลองจิจูด, การซูมแบบลอยตัว)
แสดง CameraUpdate ที่ย้ายกึ่งกลางของหน้าจอไปยังละติจูดและลองจิจูด
ที่ระบุโดยออบเจ็กต์ LatLng และย้ายไปยังระดับการซูมที่กำหนด
พารามิเตอร์
| latLng | ออบเจ็กต์ LatLng ที่มีละติจูดและลองจิจูดที่ต้องการ |
|---|---|
| zoom | ระดับการซูมที่ต้องการในช่วง 2.0 ถึง 21.0 ค่าที่ต่ำกว่าช่วงนี้คือ จะตั้งค่าเป็น 2.0 และค่าที่มากกว่าคือ 21.0 เพิ่มค่าเพื่อซูมเข้า ไม่ใช่ทั้งหมด จะมีชิ้นส่วนต่างๆ ในระดับการซูมที่ใหญ่ที่สุด |
การคืนสินค้า
CameraUpdateที่มีการเปลี่ยนรูปแบบ
สาธารณะ คงที่ CameraUpdate scrollBy (Flo xPixel, Flo yPixel)
แสดง CameraUpdate ที่เลื่อนกล้องไปบนแผนที่ โดยเปลี่ยนจุดศูนย์กลางของ
ดูตามจำนวนพิกเซลที่ระบุในทิศทาง x และ y
ตัวอย่าง
- หาก xPixel = 5 และ yPixel = 0 ระบบจะเลื่อนไปทางขวาด้วยการเลื่อนกล้องเพื่อให้ ดูเหมือนว่าแผนที่เคลื่อนไปทางซ้าย 5 พิกเซล
- หาก xPixel = 0 และ yPixel = 5 ระบบจะเลื่อนลงโดยย้ายกล้องเพื่อให้ ดูเหมือนจะเคลื่อนไปด้านบน 5 พิกเซล
การเลื่อนจะสัมพันธ์กับการวางแนวปัจจุบันของกล้อง เช่น หากกล้อง ตั้ง 90 องศา จากนั้นทิศตะวันออกคือ "ขึ้น" และการเลื่อนไปทางขวาจะเลื่อนกล้องไปทางทิศใต้
พารามิเตอร์
| xPixel | จำนวนพิกเซลที่จะเลื่อนในแนวนอน ค่าบวกจะย้ายกล้องไปที่ ด้านขวาตามการวางแนวในปัจจุบัน ค่าลบจะย้ายกล้องไปที่ ด้านซ้ายตามการวางแนวในปัจจุบัน |
|---|---|
| yPixel | จำนวนพิกเซลที่จะเลื่อนในแนวตั้ง ค่าบวกจะทำให้กล้องขยับ ลงตามการวางแนวในปัจจุบัน ค่าลบทำให้กล้องขยับ ขึ้นตามการวางแนวในปัจจุบัน |
การคืนสินค้า
CameraUpdateที่มีการเปลี่ยนรูปแบบ
สาธารณะ คงที่ CameraUpdate zoomBy (จำนวนลอยตัว จุดโฟกัส)
แสดงผล CameraUpdate ที่เลื่อนระดับการซูมของมุมมองกล้องปัจจุบัน
จุดที่ระบุโดยโฟกัสจะยังคงเดิม (นั่นคือจะสัมพันธ์กับละติจูด/ลองจิจูดเดียวกัน) ก่อนและหลังกระบวนการซูม)
วิธีการนี้แตกต่างจาก zoomTo(float) ในส่วนที่การซูมสัมพันธ์กับ
กล้อง
ตัวอย่างเช่น หาก LatLng (11.11, 22.22) อยู่ที่ตำแหน่งหน้าจอ (23,
45) หลังจากเรียกใช้วิธีนี้ด้วยจำนวนการซูมและ LatLng นี้ ตำแหน่งหน้าจอ
ของ LatLng นี้จะยังคงเป็น (23, 45)
พารามิเตอร์
| จำนวนเงิน | เพื่อเปลี่ยนระดับการซูม ค่าบวกหมายถึงการซูมเข้าใกล้ พื้นผิวโลกแต่ค่าลบหมายถึงการซูมออกจากพื้นผิว Earth |
|---|---|
| โฟกัส | ตำแหน่งพิกเซลบนหน้าจอที่จะยังคงอยู่หลังจากขั้นตอนการซูม ละติจูด/ลองจิจูดซึ่งอยู่ที่ตำแหน่งพิกเซลดังกล่าวก่อนที่จะย้ายกล้องจะยังคงเดิม หลังจากขยับกล้อง |
การคืนสินค้า
CameraUpdateที่มีการเปลี่ยนรูปแบบ
สาธารณะ คงที่ CameraUpdate zoomBy (จำนวนทศนิยม)
แสดงผล CameraUpdate ที่เลื่อนระดับการซูมของมุมมองกล้องปัจจุบัน
วิธีการนี้แตกต่างจาก zoomTo(float) ในส่วนที่การซูมสัมพันธ์กับ
กล้อง
พารามิเตอร์
| จำนวนเงิน | เพื่อเปลี่ยนระดับการซูม ค่าบวกหมายถึงการซูมเข้าใกล้ พื้นผิวโลกแต่ค่าลบหมายถึงการซูมออกจากพื้นผิว Earth |
|---|
การคืนสินค้า
CameraUpdateที่มีการเปลี่ยนรูปแบบ
สาธารณะ คงที่ CameraUpdate zoomIn ()
แสดงค่า CameraUpdate ที่ซูมเข้าในแผนที่โดยเลื่อนความสูงของมุมมองให้ใกล้ขึ้น
กับพื้นผิวโลก จำนวนการซูมที่เพิ่มขึ้นคือ 1.0
การคืนสินค้า
CameraUpdateที่มีการเปลี่ยนรูปแบบ
สาธารณะ คงที่ CameraUpdate zoomOut ()
แสดงค่า CameraUpdate ที่ซูมออกในแผนที่โดยการย้ายความสูงของมุมมอง
ที่อยู่ห่างจากพื้นผิวโลก ระดับการซูมที่เพิ่มขึ้นคือ -1.0
การคืนสินค้า
CameraUpdateที่มีการเปลี่ยนรูปแบบ
สาธารณะ คงที่ CameraUpdate zoomTo (ซูมแบบลอย)
แสดงผล CameraUpdate ที่ย้ายมุมมองของกล้องไปยังระดับการซูมที่ต้องการ
พารามิเตอร์
| zoom | ระดับการซูมที่ต้องการในช่วง 2.0 ถึง 21.0 ค่าที่ต่ำกว่าช่วงนี้คือ จะตั้งค่าเป็น 2.0 และค่าที่มากกว่าคือ 21.0 เพิ่มค่าเพื่อซูมเข้า ไม่ใช่ทั้งหมด จะมีชิ้นส่วนต่างๆ ในระดับการซูมที่ใหญ่ที่สุด |
|---|