یک کلاس حاوی متدهایی برای ایجاد اشیاء 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
ایجاد میکند.
پارامترها
موقعیت دوربین |
---|
برمی گرداند
- یک
CameraUpdate
حاوی تبدیل.
بهروزرسانی دوربین استاتیک عمومی newLatLng ( LatLng latLng)
CameraUpdate
برمی گرداند که مرکز صفحه را به طول و عرض جغرافیایی مشخص شده توسط یک شی LatLng
منتقل می کند. این دوربین را روی شی LatLng
متمرکز می کند.
پارامترها
latLng | یک شی LatLng حاوی طول و عرض جغرافیایی مورد نظر. |
---|
برمی گرداند
- یک
CameraUpdate
حاوی تبدیل.
عمومی استاتیک CameraUpdate newLatLngBounds (محدوده های LatLngBounds ، عرض int، ارتفاع int، padding int)
یک CameraUpdate
برمیگرداند که دوربین را به گونهای تبدیل میکند که محدودههای طول و عرض جغرافیایی مشخص شده روی صفحه در یک جعبه مرزی با ابعاد مشخص در بیشترین سطح زوم ممکن متمرکز شوند. شما می توانید برای محدود کردن بیشتر اندازه جعبه مرزی، بالشتک اضافی را مشخص کنید. CameraUpdate
برگشتی دارای یک یاتاقان 0 و شیب 0 است.
برخلاف newLatLngBounds(LatLngBounds, int)
، میتوانید از CameraUpdate
که با این روش برگردانده شده است برای تغییر دوربین قبل از مرحله طرحبندی نقشه استفاده کنید، زیرا آرگومانها اندازه مورد نظر کادر محدود را مشخص میکنند.
پارامترها
محدوده | منطقه ای که در جعبه مرزی قرار می گیرد |
---|---|
عرض | عرض جعبه محدود به پیکسل (px) |
ارتفاع | ارتفاع جعبه محدود به پیکسل (px) |
بالشتک | محدودیت اندازه اضافی (بر حسب px) کادر محدود |
برمی گرداند
- یک
CameraUpdate
حاوی تبدیل.
عمومی استاتیک CameraUpdate newLatLngBounds (حدود LatLngBounds ، int padding)
یک CameraUpdate
برمیگرداند که دوربین را به گونهای تبدیل میکند که محدودههای طول و عرض جغرافیایی مشخص شده در مرکز صفحه نمایش با بیشترین سطح بزرگنمایی ممکن باشد. شما می توانید padding را برای قرار دادن کادر محدود از لبه های نمای نقشه مشخص کنید. CameraUpdate
برگشتی دارای یک یاتاقان 0 و شیب 0 است.
تا زمانی که نقشه تحت طرح بندی قرار نگرفته است، دوربین را با این آپدیت دوربین تغییر ندهید (برای اینکه این روش به درستی کادر محدود و سطح بزرگنمایی مناسب را تعیین کند، نقشه باید اندازه داشته باشد). در غیر این صورت یک IllegalStateException
پرتاب می شود. در دسترس بودن نقشه کافی نیست. نمای حاوی نقشه نیز باید دارای چیدمانی باشد که ابعاد آن مشخص شده باشد. اگر نمی توانید مطمئن باشید که این اتفاق افتاده است، به جای آن از newLatLngBounds(LatLngBounds, int, int, int)
استفاده کنید و ابعاد نقشه را به صورت دستی ارائه دهید.
پارامترها
محدوده | منطقه برای قرار گرفتن بر روی صفحه نمایش |
---|---|
بالشتک | فاصله (بر حسب px) برای گذاشتن بین لبه های جعبه محدود و لبه های دید. این مقدار به هر چهار طرف جعبه مرزی اعمال می شود. |
برمی گرداند
- یک
CameraUpdate
حاوی تبدیل.
بهروزرسانی دوربین استاتیک عمومی جدیدLatLngZoom ( LatLng latLng، بزرگنمایی شناور)
CameraUpdate
برمیگرداند که مرکز صفحه را به طول و عرض جغرافیایی مشخص شده توسط یک شی LatLng
منتقل میکند و به سطح بزرگنمایی داده شده میرود.
پارامترها
latLng | یک شی LatLng حاوی طول و عرض جغرافیایی مورد نظر. |
---|---|
بزرگنمایی | سطح زوم مورد نظر، در محدوده 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
برمیگرداند که سطح زوم زاویه دید دوربین فعلی را تغییر میدهد.
یک نقطه مشخص شده توسط فوکوس ثابت باقی می ماند (یعنی، مربوط به همان lat/long قبل و بعد از فرآیند بزرگنمایی است).
این روش با zoomTo(float)
متفاوت است زیرا بزرگنمایی نسبت به دوربین فعلی است.
به عنوان مثال، اگر LatLng
(11.11، 22.22) در حال حاضر در محل صفحه نمایش (23، 45) باشد. پس از فراخوانی این روش با مقدار زوم و این LatLng
، مکان صفحه نمایش این LatLng
همچنان (23، 45) خواهد بود.
پارامترها
مقدار | مقدار برای تغییر سطح بزرگنمایی. مقادیر مثبت نشان دهنده بزرگنمایی نزدیکتر به سطح زمین است در حالی که مقادیر منفی نشان دهنده بزرگنمایی از سطح زمین است. |
---|---|
تمرکز کنید | مکان پیکسل روی صفحه که قرار است پس از انجام زوم ثابت بماند. lat/long که قبل از حرکت دوربین در آن مکان پیکسل بود، پس از حرکت دوربین ثابت می ماند. |
برمی گرداند
- یک
CameraUpdate
حاوی تبدیل.
CameraUpdate public static zoomBy (مقدار شناور)
یک CameraUpdate
برمیگرداند که سطح زوم زاویه دید دوربین فعلی را تغییر میدهد.
این روش با zoomTo(float)
متفاوت است زیرا بزرگنمایی نسبت به دوربین فعلی است.
پارامترها
مقدار | مقدار برای تغییر سطح بزرگنمایی. مقادیر مثبت نشان دهنده بزرگنمایی نزدیکتر به سطح زمین است در حالی که مقادیر منفی نشان دهنده بزرگنمایی از سطح زمین است. |
---|
برمی گرداند
- یک
CameraUpdate
حاوی تبدیل.
عمومی استاتیک Camera Update zoomIn ()
یک CameraUpdate
برمیگرداند که با نزدیکتر کردن ارتفاع نقطه دید به سطح زمین، روی نقشه بزرگنمایی میکند. افزایش زوم 1.0 است.
برمی گرداند
- یک
CameraUpdate
حاوی تبدیل.
دوربین عمومی استاتیک به روز رسانی کوچک نمایی ()
یک CameraUpdate
برمیگرداند که با دورتر کردن ارتفاع نقطه دید از سطح زمین، روی نقشه کوچکنمایی میکند. افزایش بزرگنمایی -1.0 است.
برمی گرداند
- یک
CameraUpdate
حاوی تبدیل.
دوربین عمومی استاتیک به روز رسانی zoomTo (zoom شناور)
یک CameraUpdate
برمیگرداند که زاویه دید دوربین را به سطح زوم خاصی منتقل میکند.
پارامترها
بزرگنمایی | سطح زوم مورد نظر، در محدوده 2.0 تا 21.0. مقادیر زیر این محدوده روی 2.0 و مقادیر بالای آن روی 21.0 تنظیم شده است. مقدار را برای بزرگنمایی افزایش دهید. همه مناطق دارای کاشی هایی در بزرگترین سطوح بزرگنمایی نیستند. |
---|