การอัปเดตกล้อง

คลาสสุดท้ายสาธารณะ CameraUpdateFactory ขยายออบเจ็กต์

คลาสที่มีวิธีการสร้างวัตถุ 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, ระยะห่างจากขอบ)
แสดงผล CameraUpdate ที่เปลี่ยนรูปแบบกล้องโดยให้ขอบเขตละติจูด/ลองจิจูดที่ระบุอยู่กึ่งกลางของหน้าจอภายในกรอบล้อมรอบของขนาดที่ระบุในระดับการซูมสูงสุดเท่าที่จะเป็นไปได้
ภาพนิ่ง CameraUpdate
newLatLngBounds(ขอบเขต LatLngBounds, ระยะห่างจากขอบ)
แสดงผล CameraUpdate ที่เปลี่ยนรูปแบบกล้องโดยให้ขอบเขตละติจูด/ลองจิจูดที่ระบุอยู่กึ่งกลางของหน้าจอที่ระดับการซูมสูงสุดเท่าที่จะเป็นไปได้
ภาพนิ่ง CameraUpdate
newLatLngZoom(LatLng latLng, ซูมแบบลอย)
แสดงผล CameraUpdate ที่เลื่อนกึ่งกลางของหน้าจอไปยังละติจูดและลองจิจูดตามที่ระบุโดยวัตถุ LatLng และย้ายไปที่ระดับการซูมที่ระบุ
ภาพนิ่ง CameraUpdate
scrollBy(ทศนิยม xPixel, ทศนิยม 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 latLng)

แสดงผล CameraUpdate ที่ย้ายกึ่งกลางของหน้าจอไปยังละติจูดและลองจิจูดที่ระบุโดยวัตถุ LatLng ซึ่งจะเล็งกล้องไปที่วัตถุ LatLng ไว้ตรงกลาง

พารามิเตอร์
latLng วัตถุ LatLng ที่มีละติจูดและลองจิจูดที่ต้องการ
การคืนสินค้า
  • CameraUpdate ที่มีการเปลี่ยนรูปแบบ

สาธารณะ คงที่ CameraUpdate newLatLngBounds (LatLngBounds, ความกว้าง int, ความสูง int ระยะห่างจากขอบ)

แสดงผล CameraUpdate ที่เปลี่ยนรูปแบบกล้องโดยให้ขอบเขตละติจูด/ลองจิจูดที่ระบุอยู่กึ่งกลางของหน้าจอภายในกรอบล้อมรอบของขนาดที่ระบุในระดับการซูมสูงสุดเท่าที่จะเป็นไปได้ คุณระบุระยะห่างจากขอบเพิ่มเติมเพื่อจำกัดขนาดของกรอบล้อมรอบได้ CameraUpdate ที่แสดงมีน้ำหนักเท่ากับ 0 และการเอียงเป็น 0

คุณจะใช้ CameraUpdate ที่แสดงผลโดยเมธอดนี้เพื่อเปลี่ยนกล้องก่อนเฟสของเลย์เอาต์ของแผนที่ได้ ซึ่งต่างจาก newLatLngBounds(LatLngBounds, int) ได้ เนื่องจากอาร์กิวเมนต์จะระบุขนาดกรอบล้อมรอบที่ต้องการ

พารามิเตอร์
ขอบเขต ปรับพื้นที่ให้พอดีกับกรอบล้อมรอบ
ความกว้าง ความกว้างของกล่องขอบเขตเป็นพิกเซล (พิกเซล)
ส่วนสูง ความสูงของกล่องขอบเขตเป็นพิกเซล (พิกเซล)
padding การจำกัดขนาดเพิ่มเติม (เป็นพิกเซล) ของกรอบล้อมรอบ
การคืนสินค้า
  • CameraUpdate ที่มีการเปลี่ยนรูปแบบ

สาธารณะ คงที่ CameraUpdate newLatLngBounds (LatLngBounds, ระยะห่างภายใน)

แสดงผล CameraUpdate ที่เปลี่ยนรูปแบบกล้องโดยให้ขอบเขตละติจูด/ลองจิจูดที่ระบุอยู่กึ่งกลางของหน้าจอที่ระดับการซูมสูงสุดเท่าที่จะเป็นไปได้ คุณสามารถระบุระยะห่างจากขอบเพื่อใส่กรอบล้อมรอบจากขอบของมุมมองแผนที่ CameraUpdate ที่แสดงมีน้ำหนักเท่ากับ 0 และการเอียงเป็น 0

อย่าเปลี่ยนกล้องเมื่อใช้การอัปเดตกล้องนี้จนกว่าแผนที่จะมีเลย์เอาต์ (แผนที่ต้องมีขนาดเพื่อให้วิธีการนี้กำหนดกรอบล้อมรอบและระดับการซูมที่เหมาะสมได้อย่างถูกต้อง) มิเช่นนั้นระบบจะส่ง IllegalStateException แผนที่ไม่สามารถใช้งานได้เพียงพอ มุมมองที่มีแผนที่ต้องมีการจัดวางตามขนาดที่ได้รับการคำนวณขนาด หากคุณไม่แน่ใจว่าเหตุการณ์นี้เกิดขึ้น ให้ใช้ newLatLngBounds(LatLngBounds, int, int, int) แทนและระบุขนาดของแผนที่ด้วยตนเอง

พารามิเตอร์
ขอบเขต ปรับพื้นที่ให้พอดีกับหน้าจอ
padding เว้นวรรค (หน่วยเป็นพิกเซล) เพื่อเว้นระหว่างขอบของกรอบและขอบมุมมอง ค่านี้ใช้กับทั้ง 4 ด้านของกรอบล้อมรอบ
การคืนสินค้า
  • CameraUpdate ที่มีการเปลี่ยนรูปแบบ

สาธารณะ ภาพนิ่ง CameraUpdate newLatLngZoom (LatLng latLng, Float Zoom)

แสดงผล CameraUpdate ที่เลื่อนกึ่งกลางของหน้าจอไปยังละติจูดและลองจิจูดตามที่ระบุโดยวัตถุ LatLng และย้ายไปที่ระดับการซูมที่ระบุ

พารามิเตอร์
latLng วัตถุ LatLng ที่มีละติจูดและลองจิจูดที่ต้องการ
zoom ระดับการซูมที่ต้องการในช่วง 2.0-21.0 ค่าที่ต่ำกว่าช่วงนี้ตั้งค่าไว้เป็น 2.0 และค่าที่สูงกว่าช่วงนี้จะตั้งค่าเป็น 21.0 เพิ่มค่าเพื่อซูมเข้า พื้นที่บางส่วนไม่มีไทล์ที่ระดับการซูมใหญ่ที่สุด
การคืนสินค้า
  • CameraUpdate ที่มีการเปลี่ยนรูปแบบ

สาธารณะ ภาพนิ่ง CameraUpdate scrollBy (Float xPixel, Float 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)

พารามิเตอร์
amount เพื่อเปลี่ยนระดับการซูม ค่าบวกหมายถึงการซูมใกล้พื้นผิวโลกมากขึ้น ในขณะที่ค่าลบแสดงถึงการซูมออกจากพื้นผิวโลก
โฟกัส พิกเซลบนหน้าจอที่จะยังคงอยู่หลังจากการย่อ/ขยาย ละติจูด/ลองจิจูดที่ตำแหน่งพิกเซลนั้นก่อนการเคลื่อนที่ของกล้องจะยังคงเหมือนเดิมหลังจากที่กล้องย้ายตำแหน่ง
การคืนสินค้า
  • CameraUpdate ที่มีการเปลี่ยนรูปแบบ

สาธารณะ ภาพนิ่ง CameraUpdate zoomBy (จำนวนแบบลอย)

แสดงผล CameraUpdate ที่เลื่อนระดับการซูมของมุมมองกล้องปัจจุบัน

วิธีนี้ต่างจาก zoomTo(float) ตรงที่การซูมจะสัมพันธ์กับกล้องปัจจุบัน

พารามิเตอร์
amount เพื่อเปลี่ยนระดับการซูม ค่าบวกหมายถึงการซูมใกล้พื้นผิวโลกมากขึ้น ในขณะที่ค่าลบแสดงถึงการซูมออกจากพื้นผิวโลก
การคืนสินค้า
  • 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 เพิ่มค่าเพื่อซูมเข้า พื้นที่บางส่วนไม่มีไทล์ที่ระดับการซูมใหญ่ที่สุด