CameraUpdateFactory

کلاس نهایی عمومی CameraUpdateFactory Object را گسترش می دهد

یک کلاس حاوی متدهایی برای ایجاد اشیاء CameraUpdate که دوربین نقشه را تغییر می دهند. برای تغییر دوربین نقشه، با استفاده از یک شی CameraUpdate ایجاد شده با این کلاس، animateCamera(CameraUpdate) ، animateCamera(CameraUpdate, GoogleMap.CancelableCallback) یا moveCamera(CameraUpdate) را فراخوانی کنید.

به عنوان مثال، برای بزرگنمایی روی نقشه، می توانید از کد زیر استفاده کنید:

GoogleMap map = ...;
 map.animateCamera(CameraUpdateFactory.zoomIn());
 

قبل از استفاده از هر روشی از این کلاس، باید یکی از موارد زیر را انجام دهید تا مطمئن شوید که این کلاس مقداردهی اولیه شده است:

  • منتظر بمانید تا GoogleMap از MapFragment یا MapView که به برنامه خود اضافه کرده اید در دسترس قرار گیرد. می‌توانید نمونه GoogleMap را با فراخوانی getMapAsync() و منتظر پاسخ تماس onMapReady(GoogleMap map) دریافت کنید.
  • فراخوانی initialize(Context) . تا زمانی که یک GooglePlayServicesNotAvailableException پرتاب نشود، این کلاس به درستی مقداردهی اولیه می شود.

راهنمای توسعه دهنده

برای اطلاعات بیشتر، راهنمای برنامه‌نویس دوربین و مشاهده را بخوانید.

خلاصه روش عمومی

به روز رسانی دوربین ثابت
newCameraPosition ( CameraPosition cameraPosition)
یک CameraUpdate برمی‌گرداند که دوربین را به یک CameraPosition مشخص شده منتقل می‌کند.
به روز رسانی دوربین ثابت
newLatLng ( LatLng latLng)
CameraUpdate برمی گرداند که مرکز صفحه را به طول و عرض جغرافیایی مشخص شده توسط یک شی LatLng منتقل می کند.
به روز رسانی دوربین ثابت
newLatLngBounds (کروانهای LatLngBounds ، عرض int، ارتفاع int، لایه داخلی)
یک CameraUpdate برمی‌گرداند که دوربین را به گونه‌ای تبدیل می‌کند که محدوده‌های طول و عرض جغرافیایی مشخص شده روی صفحه در یک جعبه مرزی با ابعاد مشخص در بیشترین سطح زوم ممکن متمرکز شوند.
به روز رسانی دوربین ثابت
newLatLngBounds (محدوده های LatLngBounds ، padding int)
یک CameraUpdate برمی‌گرداند که دوربین را به گونه‌ای تبدیل می‌کند که محدوده‌های طول و عرض جغرافیایی مشخص شده در مرکز صفحه نمایش با بیشترین سطح بزرگنمایی ممکن باشد.
به روز رسانی دوربین ثابت
newLatLngZoom ( LatLng latLng، float zoom)
CameraUpdate برمی‌گرداند که مرکز صفحه را به طول و عرض جغرافیایی مشخص شده توسط یک شی LatLng منتقل می‌کند و به سطح بزرگنمایی داده شده می‌رود.
به روز رسانی دوربین ثابت
scrollBy (float xPixel، float yPixel)
CameraUpdate برمی‌گرداند که دوربین را روی نقشه حرکت می‌دهد و مرکز دید را با تعداد پیکسل‌های مشخص شده در جهت‌های x و y تغییر می‌دهد.
به روز رسانی دوربین ثابت
بزرگنمایی (میزان شناور، فوکوس نقطه ای)
یک CameraUpdate برمی‌گرداند که سطح زوم زاویه دید دوربین فعلی را تغییر می‌دهد.
به روز رسانی دوربین ثابت
بزرگنمایی (مقدار شناور)
یک CameraUpdate برمی‌گرداند که سطح زوم زاویه دید دوربین فعلی را تغییر می‌دهد.
به روز رسانی دوربین ثابت
بزرگنمایی ()
یک CameraUpdate برمی‌گرداند که با نزدیک‌تر کردن ارتفاع نقطه دید به سطح زمین، روی نقشه بزرگ‌نمایی می‌کند.
به روز رسانی دوربین ثابت
کوچک نمایی ()
یک CameraUpdate برمی‌گرداند که با دورتر کردن ارتفاع نقطه دید از سطح زمین، روی نقشه کوچک‌نمایی می‌کند.
به روز رسانی دوربین ثابت
zoomTo (زوم شناور)
یک CameraUpdate برمی‌گرداند که زاویه دید دوربین را به سطح زوم خاصی منتقل می‌کند.

خلاصه روش ارثی

روش های عمومی

عمومی استاتیک Camera Update newCameraPosition ( CameraPosition cameraPosition)

یک CameraUpdate برمی‌گرداند که دوربین را به یک CameraPosition مشخص شده منتقل می‌کند. در واقع، این تغییری را از عرض جغرافیایی، طول جغرافیایی، سطح زوم، یاتاقان و شیب جسم CameraPosition ایجاد می‌کند.

پارامترها
موقعیت دوربین
برمی گرداند

به‌روزرسانی دوربین استاتیک عمومی newLatLng ( LatLng latLng)

CameraUpdate برمی گرداند که مرکز صفحه را به طول و عرض جغرافیایی مشخص شده توسط یک شی LatLng منتقل می کند. این دوربین را روی شی LatLng متمرکز می کند.

پارامترها
latLng یک شی LatLng حاوی طول و عرض جغرافیایی مورد نظر.
برمی گرداند

عمومی استاتیک CameraUpdate newLatLngBounds (محدوده های LatLngBounds ، عرض int، ارتفاع int، padding int)

یک CameraUpdate برمی‌گرداند که دوربین را به گونه‌ای تبدیل می‌کند که محدوده‌های طول و عرض جغرافیایی مشخص شده روی صفحه در یک جعبه مرزی با ابعاد مشخص در بیشترین سطح زوم ممکن متمرکز شوند. شما می توانید برای محدود کردن بیشتر اندازه جعبه مرزی، بالشتک اضافی را مشخص کنید. CameraUpdate برگشتی دارای یک یاتاقان 0 و شیب 0 است.

برخلاف newLatLngBounds(LatLngBounds, int) ، می‌توانید از CameraUpdate که با این روش برگردانده شده است برای تغییر دوربین قبل از مرحله طرح‌بندی نقشه استفاده کنید، زیرا آرگومان‌ها اندازه مورد نظر کادر محدود را مشخص می‌کنند.

پارامترها
محدوده منطقه ای که در جعبه مرزی قرار می گیرد
عرض عرض جعبه محدود به پیکسل (px)
ارتفاع ارتفاع جعبه محدود به پیکسل (px)
بالشتک محدودیت اندازه اضافی (بر حسب px) کادر محدود
برمی گرداند

عمومی استاتیک CameraUpdate newLatLngBounds (حدود LatLngBounds ، int padding)

یک CameraUpdate برمی‌گرداند که دوربین را به گونه‌ای تبدیل می‌کند که محدوده‌های طول و عرض جغرافیایی مشخص شده در مرکز صفحه نمایش با بیشترین سطح بزرگنمایی ممکن باشد. شما می توانید padding را برای قرار دادن کادر محدود از لبه های نمای نقشه مشخص کنید. CameraUpdate برگشتی دارای یک یاتاقان 0 و شیب 0 است.

تا زمانی که نقشه تحت طرح بندی قرار نگرفته است، دوربین را با این آپدیت دوربین تغییر ندهید (برای اینکه این روش به درستی کادر محدود و سطح بزرگنمایی مناسب را تعیین کند، نقشه باید اندازه داشته باشد). در غیر این صورت یک IllegalStateException پرتاب می شود. در دسترس بودن نقشه کافی نیست. نمای حاوی نقشه نیز باید دارای چیدمانی باشد که ابعاد آن مشخص شده باشد. اگر نمی توانید مطمئن باشید که این اتفاق افتاده است، به جای آن از newLatLngBounds(LatLngBounds, int, int, int) استفاده کنید و ابعاد نقشه را به صورت دستی ارائه دهید.

پارامترها
محدوده منطقه برای قرار گرفتن بر روی صفحه نمایش
بالشتک فاصله (بر حسب px) برای گذاشتن بین لبه های جعبه محدود و لبه های دید. این مقدار به هر چهار طرف جعبه مرزی اعمال می شود.
برمی گرداند

به‌روزرسانی دوربین استاتیک عمومی جدیدLatLngZoom ( LatLng latLng، بزرگنمایی شناور)

CameraUpdate برمی‌گرداند که مرکز صفحه را به طول و عرض جغرافیایی مشخص شده توسط یک شی LatLng منتقل می‌کند و به سطح بزرگنمایی داده شده می‌رود.

پارامترها
latLng یک شی LatLng حاوی طول و عرض جغرافیایی مورد نظر.
بزرگنمایی سطح زوم مورد نظر، در محدوده 2.0 تا 21.0. مقادیر زیر این محدوده روی 2.0 و مقادیر بالای آن روی 21.0 تنظیم شده است. مقدار را برای بزرگنمایی افزایش دهید. همه مناطق دارای کاشی هایی در بزرگترین سطوح بزرگنمایی نیستند.
برمی گرداند

عمومی استاتیک CameraUpdate scrollBy (float xPixel، float yPixel)

CameraUpdate برمی‌گرداند که دوربین را روی نقشه حرکت می‌دهد و مرکز دید را با تعداد پیکسل‌های مشخص شده در جهت‌های x و y تغییر می‌دهد.

مثال ها:

  • اگر xPixel = 5 و yPixel = 0، سیستم با حرکت دوربین به سمت راست پیمایش می کند به طوری که به نظر می رسد نقشه 5 پیکسل به چپ جابه جا شده است.
  • اگر xPixel = 0 و yPixel = 5، سیستم با حرکت دادن دوربین به سمت پایین حرکت می کند تا به نظر برسد که نقشه 5 پیکسل به بالا جابجا شده است.

پیمایش نسبت به جهت فعلی دوربین است. به عنوان مثال، اگر دوربین 90 درجه را تحمل می کند، شرق "بالا" است و پیمایش به سمت راست دوربین را به سمت جنوب حرکت می دهد.

پارامترها
xPixel تعداد پیکسل هایی که باید به صورت افقی حرکت کنند. یک مقدار مثبت دوربین را با توجه به جهت فعلی آن به سمت راست حرکت می دهد. یک مقدار منفی دوربین را با توجه به جهت فعلی آن به سمت چپ حرکت می دهد.
yPixel تعداد پیکسل هایی که باید به صورت عمودی اسکرول شوند. یک مقدار مثبت دوربین را با توجه به جهت فعلی آن به سمت پایین حرکت می دهد. یک مقدار منفی دوربین را با توجه به جهت فعلی آن به سمت بالا حرکت می دهد.
برمی گرداند

CameraUpdate zoomBy (مقدار شناور، فوکوس نقطه ای) عمومی استاتیک

یک CameraUpdate برمی‌گرداند که سطح زوم زاویه دید دوربین فعلی را تغییر می‌دهد.

یک نقطه مشخص شده توسط فوکوس ثابت باقی می ماند (یعنی، مربوط به همان lat/long قبل و بعد از فرآیند بزرگنمایی است).

این روش با zoomTo(float) متفاوت است زیرا بزرگنمایی نسبت به دوربین فعلی است.

به عنوان مثال، اگر LatLng (11.11، 22.22) در حال حاضر در محل صفحه نمایش (23، 45) باشد. پس از فراخوانی این روش با مقدار زوم و این LatLng ، مکان صفحه نمایش این LatLng همچنان (23، 45) خواهد بود.

پارامترها
مقدار مقدار برای تغییر سطح بزرگنمایی. مقادیر مثبت نشان دهنده بزرگنمایی نزدیکتر به سطح زمین است در حالی که مقادیر منفی نشان دهنده بزرگنمایی از سطح زمین است.
تمرکز کنید مکان پیکسل روی صفحه که قرار است پس از انجام زوم ثابت بماند. lat/long که قبل از حرکت دوربین در آن مکان پیکسل بود، پس از حرکت دوربین ثابت می ماند.
برمی گرداند

CameraUpdate public static zoomBy (مقدار شناور)

یک CameraUpdate برمی‌گرداند که سطح زوم زاویه دید دوربین فعلی را تغییر می‌دهد.

این روش با zoomTo(float) متفاوت است زیرا بزرگنمایی نسبت به دوربین فعلی است.

پارامترها
مقدار مقدار برای تغییر سطح بزرگنمایی. مقادیر مثبت نشان دهنده بزرگنمایی نزدیکتر به سطح زمین است در حالی که مقادیر منفی نشان دهنده بزرگنمایی از سطح زمین است.
برمی گرداند

عمومی استاتیک Camera Update zoomIn ()

یک CameraUpdate برمی‌گرداند که با نزدیک‌تر کردن ارتفاع نقطه دید به سطح زمین، روی نقشه بزرگ‌نمایی می‌کند. افزایش زوم 1.0 است.

برمی گرداند

دوربین عمومی استاتیک به روز رسانی کوچک نمایی ()

یک CameraUpdate برمی‌گرداند که با دورتر کردن ارتفاع نقطه دید از سطح زمین، روی نقشه کوچک‌نمایی می‌کند. افزایش بزرگنمایی -1.0 است.

برمی گرداند

دوربین عمومی استاتیک به روز رسانی zoomTo (zoom شناور)

یک CameraUpdate برمی‌گرداند که زاویه دید دوربین را به سطح زوم خاصی منتقل می‌کند.

پارامترها
بزرگنمایی سطح زوم مورد نظر، در محدوده 2.0 تا 21.0. مقادیر زیر این محدوده روی 2.0 و مقادیر بالای آن روی 21.0 تنظیم شده است. مقدار را برای بزرگنمایی افزایش دهید. همه مناطق دارای کاشی هایی در بزرگترین سطوح بزرگنمایی نیستند.