الكاميرا والعرض

اختيار النظام الأساسي: Android iOS JavaScript

يمكن إمالة الخرائط في حزمة تطوير البرامج (SDK) للخرائط من أجل Android وتدويرها باستخدام إيماءات سهلة، مما يتيح للمستخدمين إمكانية ضبط الخريطة باتجاه يناسبهم. في أي مستوى من مستويات التكبير أو التصغير، يمكنك تحريك الخريطة أو تغيير منظورها مع وقت استجابة قليل جدًا بفضل المساحة الأصغر للخريطة المستندة إلى المتجهات.

عيّنات تعليمات برمجية

يتضمن مستودع ApiDemos على GitHub نموذجًا يوضح ميزات الكاميرا:

مقدمة

كما هو الحال مع "خرائط Google" على الويب، تمثل حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لنظام التشغيل Android سطح العالم (كرة كروية) على شاشة جهازك (مستوى مسطّح) باستخدام إسقاط ماركتور. في الاتجاه الشرقي والغربي، تتكرر الخريطة إلى ما لا نهاية بينما يلتف العالم حول نفسه بسلاسة. في الاتجاه الشمالي والجنوبي، تقتصر الخريطة على حوالي 85 درجة شمال و85 درجة جنوبًا.

ملاحظة: لإسقاط ماركاتور له عرض محدود طوليًا وارتفاعًا لا نهائي بخطوط العرض. يتم "قطع" صور الخريطة الأساسية التي تستخدم إسقاط ماركتور بزاوية 85 درجة +/- تقريبًا لجعل شكل الخريطة الناتج مربعًا، ما يتيح اختيار المربعات بطريقة أسهل.

تسمح لك حزمة تطوير البرامج بالاستناد إلى بيانات "خرائط Google" لتطبيقات Android بتغيير وجهة عرض المستخدم للخريطة عن طريق تعديل كاميرا الخريطة.

لن تؤدي التغييرات في الكاميرا إلى إجراء أي تغييرات على العلامات أو التراكبات أو الرسومات الأخرى التي أضفتها، ولكنك قد تحتاج إلى تغيير الإضافات لتلائم العرض الجديد بشكل أفضل.

ونظرًا لأنه يمكنك الاستماع إلى إيماءات المستخدمين على الخريطة، يمكنك تغيير الخريطة استجابةً لطلبات المستخدمين. على سبيل المثال، تستجيب طريقة معاودة الاتصال OnMapClickListener.onMapClick() بنقرة واحدة على الخريطة. نظرًا لأن الطريقة تتلقى خط العرض وخط الطول لموقع النقر، يمكنك الاستجابة من خلال العرض الشامل أو التكبير إلى هذه النقطة. تتوفر طرق مماثلة للاستجابة للنقرات على فقاعة محدد الموقع أو للاستجابة لإيماءة السحب على محدد الموقع.

يمكنك أيضًا الاستماع إلى حركات الكاميرا لكي يتلقّى تطبيقك إشعارًا عند بدء تحريك الكاميرا أو تحركها حاليًا أو إيقاف الحركة. لمعرفة التفاصيل، يُرجى الاطّلاع على دليل أحداث تغيير الكاميرا.

موضع الكاميرا

يتم تصميم عرض الخريطة على أنه كاميرا تنظر لأسفل على مستوٍ مسطّح. يتم تحديد موضع الكاميرا (وبالتالي عرض الخريطة) من خلال السمات التالية: target (الموقع الجغرافي لخط العرض/خط الطول) والاتجاه والإمالة وتكبير/تصغير.

الرسم التوضيحي لخصائص الكاميرا

الهدف (الموقع)

هدف الكاميرا هو موقع مركز الخريطة، ويتم تحديده كإحداثيات لخط العرض وخط الطول.

ويمكن أن يتراوح خط العرض بين -85 و85 درجة، بشكل شامل. وسيتم تثبيت القيم الأعلى أو الأقل من هذا النطاق على أقرب قيمة ضمن هذا النطاق. على سبيل المثال، يؤدي تحديد خط عرض 100 إلى تعيين القيمة على 85. تتراوح خطوط الطول بين 180 و180 درجة، بشكل شامل. سيتم التفاف القيم أعلى أو أسفل هذا النطاق بحيث تقع ضمن النطاق (-180، 180). على سبيل المثال، سيتم التفاف 480 و840 و1200 جميعها إلى 120 درجة.

الاتجاه (الاتجاه)

تحدد موجِّه الكاميرا اتجاه البوصلة، الذي يتم قياسه بالدرجات من الشمال الحقيقي، والمتوافق مع الحافة العلوية للخريطة. إذا رسمت خطًا رأسيًا من وسط الخريطة إلى الحافة العلوية للخريطة، فإن الاتجاه يتوافق مع عنوان الكاميرا (بالدرجات) بالنسبة إلى الشمال الحقيقي.

يعني الاتجاه 0 أن الجزء العلوي من الخريطة يشير إلى الشمال الحقيقي. تعني القيمة الاتجاهية 90 أعلى نقاط الخريطة المستحقة للشرق (90 درجة على بوصلة). وتعني القيمة 180 أعلى نقاط الخريطة التي يجب دفعها في اتجاه الجنوب.

تتيح لك واجهة برمجة تطبيقات الخرائط تغيير اتجاه الخريطة. على سبيل المثال، غالبًا ما يحول شخص يقود سيارة خريطة طريق لمحاذاتها مع اتجاه سفره، بينما عادةً ما يوجه المسافرون الذين يستخدمون الخريطة والبوصلة الخريطة بحيث يشير الخط الرأسي إلى الشمال.

الإمالة (زاوية العرض)

تحدّد درجة الإمالة موضع الكاميرا على قوس فوق موضع مركز الخريطة مباشرةً، ويتم قياسه بالدرجات من النظير (الاتجاه الذي يشير إلى أسفل الكاميرا مباشرةً). تتجاوب القيمة 0 مع الكاميرا الموجَّهة مباشرةً إلى الأسفل. تتوافق القيم الأكبر من 0 مع كاميرا تم تدويرها باتجاه الأفق بالعدد المحدد من الدرجات. عند تغيير زاوية العرض، تظهر الخريطة في منظورها الصحيح، مع ظهور العناصر البعيدة بحجم أصغر، وظهور العناصر القريبة بحجم أكبر. توضح الصور التوضيحية التالية هذا.

في الصور أدناه، تبلغ زاوية المشاهدة 0 درجة. توضّح الصورة الأولى رسمًا تخطيطيًا لهذا العنصر، ويمثّل الموضع 1 موضع الكاميرا، والموضع 2 هو الموضع الحالي على الخريطة. يتم عرض الخريطة الناتجة أسفلها.

لقطة شاشة لخريطة موضوعة بزاوية عرض 0 درجة، بمستوى تكبير 18.
الخريطة المعروضة بزاوية العرض التلقائية للكاميرا
مخطّط بياني يعرض الموضع التلقائي للكاميرا، مباشرةً فوق موضع الخريطة، بزاوية 0 درجة
زاوية العرض التلقائية للكاميرا

في الصور أدناه، تبلغ زاوية العرض 45 درجة. لاحِظ أنّ الكاميرا تتحرك في منتصف الطريق على طول قوس بين السطح المستقيم (0 درجة) والأرض (90 درجة)، إلى الموضع 3. لا تزال الكاميرا تشير إلى النقطة المركزية للخريطة، ولكن تظهر الآن المنطقة الممثلة بالخط في الموضع 4.

لقطة شاشة لخريطة موضوعة بزاوية عرض 45 درجة، بمستوى تكبير 18.
يتم عرض الخريطة بزاوية عرض 45 درجة.
مخطّط بياني يُظهر زاوية عرض الكاميرا مضبوطة على 45 درجة، مع استمرار ضبط مستوى التكبير على 18 درجة
زاوية عرض كاميرا تبلغ 45 درجة.

لا تزال الخريطة في لقطة الشاشة هذه متمركزة في نفس النقطة كما هي في الخريطة الأصلية، ولكن ظهرت المزيد من العناصر في أعلى الخريطة. وعندما تزيد الزاوية إلى ما يزيد عن 45 درجة، تظهر العناصر الواقعة بين الكاميرا وموضع الخريطة أكبر نسبيًا، بينما تظهر العناصر التي تقع خارج موضع الخريطة أصغر نسبيًا، ما ينتج عنه تأثير ثلاثي الأبعاد.

Zoom

يحدد مستوى تكبير/تصغير الكاميرا مقياس الخريطة. في مستويات التكبير الأكبر، يمكن رؤية المزيد من التفاصيل على الشاشة، بينما يمكن رؤية المزيد من العالم على الشاشة عند مستويات التكبير الأصغر. في مستوى التكبير/التصغير 0، يكون حجم الخريطة بحيث يبلغ عرض العالم بأكمله 256 بكسل مستقل الكثافة تقريبًا (وحدات بكسل مستقلة الكثافة).

تؤدي زيادة مستوى التكبير/التصغير بمقدار 1 إلى مضاعفة عرض العالم على الشاشة. وبالتالي عند مستوى التكبير/التصغير N، يبلغ عرض العالم تقريبًا 256 * 2N بكسل مستقل الكثافة. على سبيل المثال، عند مستوى التكبير/التصغير 2، يبلغ عرض العالم كله حوالي 1024 بكسل مستقل الكثافة (dp).

لا يلزم أن يكون مستوى التكبير/التصغير عددًا صحيحًا. ويعتمد نطاق مستويات التكبير/التصغير المسموح به بالخريطة على عدد من العوامل بما في ذلك الهدف ونوع الخريطة وحجم الشاشة. وسيتم تحويل أي رقم خارج النطاق إلى أقرب قيمة صالحة تالٍ، والتي يمكن أن تكون إما الحد الأدنى لمستوى التكبير أو التصغير. توضح القائمة التالية المستوى التقريبي للتفاصيل التي يمكن أن تتوقع رؤيتها في كل مستوى من مستويات التكبير أو التصغير:

  • 1: العالم
  • 5: مساحة اليابسة/القارة
  • 10: المدينة
  • 15: الشوارع
  • 20: مبانٍ
توضح الصور التالية المظهر المرئي لمستويات التكبير المختلفة:
لقطة شاشة لخريطة بمستوى تكبير 5
خريطة بمستوى التكبير 5.
لقطة شاشة لخريطة بمستوى تكبير/تصغير يبلغ 15
خريطة بمستوى التكبير 15
لقطة شاشة لخريطة بمستوى التكبير 20
خريطة بمستوى التكبير 20

تحريك الكاميرا

تتيح لك واجهة برمجة تطبيقات الخرائط تغيير أي جزء من العالم مرئي على الخريطة. يتم ذلك من خلال تغيير موضع الكاميرا (بدلاً من تحريك الخريطة).

عند تغيير الكاميرا، يتوفر لك خيار تحريك حركة الكاميرا الناتجة. تدخل الرسوم المتحركة بين سمات الكاميرا الحالية وسمات الكاميرا الجديدة. يمكنك أيضًا التحكم في مدة الرسوم المتحركة.

لتغيير موضع الكاميرا، عليك تحديد المكان الذي تريد تحريك الكاميرا فيه باستخدام CameraUpdate. تتيح لك Maps API إنشاء عدة أنواع مختلفة من CameraUpdate باستخدام CameraUpdateFactory. تتوفّر الخيارات التالية:

تغيير مستوى التكبير/التصغير وإعداد الحد الأدنى/الحد الأقصى للتكبير/التصغير

وتمنحك السمتَين CameraUpdateFactory.zoomIn() وCameraUpdateFactory.zoomOut() CameraUpdate الإذن بتغيير مستوى التكبير أو التصغير بمقدار 1.0 مع الإبقاء على جميع السمات الأخرى كما هي.

يمنحك CameraUpdateFactory.zoomTo(float) CameraUpdate الذي يغيّر مستوى التكبير/التصغير إلى القيمة المحدّدة، مع الإبقاء على جميع السمات الأخرى كما هي.

CameraUpdateFactory.zoomBy(float) وCameraUpdateFactory.zoomBy(float, Point) تمنحك CameraUpdate التي تزيد (أو تقل إذا كانت القيمة سالبة) مستوى التكبير/التصغير بمقدار القيمة المحددة. يعمل الخيار الأخير على تثبيت النقطة المحددة على الشاشة بحيث تظل في نفس الموقع (خط العرض/الطول) وبالتالي يمكن تغيير موقع الكاميرا لتحقيق ذلك.

قد تجد أنه من المفيد تعيين حد أدنى و/أو أقصى مستوى مفضل للتكبير. على سبيل المثال، من المفيد التحكّم في تجربة المستخدم إذا كان تطبيقك يعرض منطقة محدّدة حول نقطة اهتمام أو إذا كنت تستخدم مربّعًا مخصّصًا يتراكب على مجموعة محدودة من مستويات التكبير أو التصغير.

Kotlin



private lateinit var map: GoogleMap

    map.setMinZoomPreference(6.0f)
    map.setMaxZoomPreference(14.0f)

      

Java


private GoogleMap map;
    map.setMinZoomPreference(6.0f);
    map.setMaxZoomPreference(14.0f);

      

يُرجى العلم أنّ هناك اعتبارات فنية قد تمنع واجهة برمجة التطبيقات من السماح للمستخدمين بالتكبير أو التصغير بدرجة كبيرة جدًا. على سبيل المثال، قد يكون الحد الأقصى للتكبير/التصغير في القمر الصناعي أو التضاريس أقل من مربعات الخريطة الأساسية.

تغيير موضع الكاميرا

هناك طريقتان ملائمة لتغييرات الموضع الشائع. CameraUpdateFactory.newLatLng(LatLng) يمنحك CameraUpdate يغيّر خط العرض وخط الطول للكاميرا، مع الحفاظ على جميع السمات الأخرى. يمنحك CameraUpdateFactory.newLatLngZoom(LatLng, float) CameraUpdate يغيّر خط العرض وخط الطول والتكبير/التصغير للكاميرا، مع الحفاظ على جميع السمات الأخرى.

للاستفادة إلى أقصى حدّ من وضع الكاميرا، يمكنك استخدام CameraUpdateFactory.newCameraPosition(CameraPosition) الذي يمنحك CameraUpdate لنقل الكاميرا إلى الموضع المحدّد. يمكن الحصول على CameraPosition إما مباشرةً باستخدام new CameraPosition() أو من خلال CameraPosition.Builder باستخدام new CameraPosition.Builder().

التحريك (التمرير)

يمنحك CameraUpdateFactory.scrollBy(float, float) CameraUpdate يغيّر خط العرض وخط الطول للكاميرا بحيث تتحرك الخريطة بالعدد المحدّد من وحدات البكسل. تؤدي قيمة x الموجبة إلى انتقال الكاميرا إلى اليمين، بحيث يبدو أن الخريطة قد تم نقلها إلى اليسار. تؤدي قيمة ص الموجبة إلى تحرك الكاميرا لأسفل، بحيث يبدو أن الخريطة قد تم تحريكها لأعلى. وعلى العكس من ذلك، تتسبب قيم x السالبة في انتقال الكاميرا إلى اليسار، بحيث يبدو أن الخريطة قد تحركت لليمين وتتسبب قيم y السالبة في تحريك الكاميرا لأعلى. يرتبط التمرير بالاتجاه الحالي للكاميرا. على سبيل المثال، إذا كان اتجاه الكاميرا 90 درجة، يكون اتجاه الشرق "أعلى".

وضع الحدود

تعيين حدود الخريطة

قد يكون من المفيد أحيانًا تحريك الكاميرا بحيث تظهر المنطقة محط الاهتمام بالكامل عند أعلى مستوى تكبير ممكن. على سبيل المثال، إذا كنت تعرض جميع محطات الوقود في نطاق خمسة أميال من الموضع الحالي للمستخدم، قد تحتاج إلى تحريك الكاميرا بحيث تكون جميعها مرئية على الشاشة. لإجراء ذلك، عليك أولاً احتساب LatLngBounds الذي تريد أن يظهر على الشاشة. ويمكنك بعد ذلك استخدام CameraUpdateFactory.newLatLngBounds(LatLngBounds bounds, int padding) للحصول على CameraUpdate يغيّر موضع الكاميرا بحيث تتناسب LatLngBounds المحدّدة مع الخريطة، مع مراعاة المساحة المتروكة (بالبكسل). تضمن CameraUpdate المعروضة أنّ الفجوة (بالبكسل) بين الحدود وحافة الخريطة ستكون على الأقل مساوية للمساحة المتروكة المحددة. لاحظ أن إمالة واتجاه الخريطة سيكونان 0.

Kotlin



val australiaBounds = LatLngBounds(
    LatLng((-44.0), 113.0),  // SW bounds
    LatLng((-10.0), 154.0) // NE bounds
)
map.moveCamera(CameraUpdateFactory.newLatLngBounds(australiaBounds, 0))

      

Java


LatLngBounds australiaBounds = new LatLngBounds(
    new LatLng(-44, 113), // SW bounds
    new LatLng(-10, 154)  // NE bounds
);
map.moveCamera(CameraUpdateFactory.newLatLngBounds(australiaBounds, 0));

      

توسيط الخريطة داخل منطقة

في بعض الحالات، قد تحتاج إلى توسيط الكاميرا داخل حدود بدلاً من تضمين الحدود القصوى. على سبيل المثال، لتوسيط الكاميرا على بلد مع الحفاظ على تكبير/تصغير مستمر. في هذه الحالة، يمكنك استخدام طريقة مشابهة من خلال إنشاء LatLngBounds واستخدام CameraUpdateFactory.newLatLngZoom(LatLng latLng, float zoom) مع LatLngBounds.طريقة getCenter(). ستعرض طريقة getCenter() المركز الجغرافي لـ LatLngBounds.

Kotlin



val australiaBounds = LatLngBounds(
    LatLng((-44.0), 113.0),  // SW bounds
    LatLng((-10.0), 154.0) // NE bounds
)
map.moveCamera(CameraUpdateFactory.newLatLngZoom(australiaBounds.center, 10f))

      

Java


LatLngBounds australiaBounds = new LatLngBounds(
    new LatLng(-44, 113), // SW bounds
    new LatLng(-10, 154)  // NE bounds
);
map.moveCamera(CameraUpdateFactory.newLatLngZoom(australiaBounds.getCenter(), 10));

      

التحميل الزائد على الطريقة newLatLngBounds(boundary, width, height, padding) يتيح لك تحديد العرض والارتفاع بالبكسل للمستطيل، بحيث يتوافق مع أبعاد الخريطة. يتم وضع المستطيل بحيث يكون مركزه مماثلاً لعرض الخريطة (وبالتالي إذا كانت الأبعاد المحددة مماثلة للأبعاد في عرض الخريطة، فإن المستطيل يتزامن مع عرض الخريطة). سيحرك الرمز CameraUpdate المعروض الكاميرا بحيث يكون LatLngBounds المحدّد في وسط الشاشة داخل المستطيل المحدَّد بأعلى مستوى ممكن من التكبير، مع مراعاة المساحة المتروكة المطلوبة.

ملاحظة: لا تستخدِم الطريقة الأبسط newLatLngBounds(boundary, padding) لإنشاء CameraUpdate إلا إذا كانت ستُستخدَم لتحريك الكاميرا بعد الانتهاء من تنسيق الخريطة. أثناء التنسيق، تحسب واجهة برمجة التطبيقات حدود عرض الخريطة المطلوبة لعرض مربّع الإحاطة بشكل صحيح. في المقابل، يمكنك في أي وقت استخدام CameraUpdate الذي تعرضه الطريقة الأكثر تعقيدًا newLatLngBounds(boundary, width, height, padding)، حتى قبل تغيير تنسيق الخريطة، لأنّ واجهة برمجة التطبيقات تحتسب حدود العرض من الوسيطات التي تمرِّرها.

تقييد دوران المستخدم في منطقة معينة

في السيناريوهات أعلاه، تقوم بتعيين حدود الخريطة ولكن يمكن للمستخدم بعد ذلك التمرير أو التحريك خارج هذه الحدود. بدلاً من ذلك، قد ترغب في تقييد حدود مركز خطوط الطول/العرض للنقطة المحورية للخريطة (استهداف الكاميرا) بحيث يمكن للمستخدمين فقط التمرير والتحريك داخل هذه الحدود. على سبيل المثال، قد يرغب تطبيق بيع بالتجزئة لمركز تسوق أو مطار في تقييد الخريطة بحدود معينة، مما يسمح للمستخدمين بالتمرير والتحريك داخل هذه الحدود.

Kotlin



// Create a LatLngBounds that includes the city of Adelaide in Australia.
val adelaideBounds = LatLngBounds(
    LatLng(-35.0, 138.58),  // SW bounds
    LatLng(-34.9, 138.61) // NE bounds
)

// Constrain the camera target to the Adelaide bounds.
map.setLatLngBoundsForCameraTarget(adelaideBounds)

      

Java


// Create a LatLngBounds that includes the city of Adelaide in Australia.
LatLngBounds adelaideBounds = new LatLngBounds(
    new LatLng(-35.0, 138.58), // SW bounds
    new LatLng(-34.9, 138.61)  // NE bounds
);

// Constrain the camera target to the Adelaide bounds.
map.setLatLngBoundsForCameraTarget(adelaideBounds);

      

يوضّح المخطّط التالي سيناريو يتم فيه حصر هدف الكاميرا بمنطقة أكبر بقليل من إطار العرض. يمكن للمستخدم التمرير والتحريك، بشرط بقاء هدف الكاميرا ضمن المنطقة المحدودة. يمثل الصليب هدف الكاميرا:

مخطّط بياني يُظهر LatLngBounds للكاميرا التي تزيد حجمها عن إطار العرض

تملأ الخريطة إطار العرض دائمًا، حتى إذا كان ذلك يؤدي إلى ظهور أجزاء منه خارج الحدود المحددة. على سبيل المثال، في حال وضع هدف الكاميرا في زاوية من المنطقة المحدودة، تظهر المنطقة الواقعة خارج الزاوية في إطار العرض، ولكن لن يتمكّن المستخدمون من الانتقال إلى هذه المنطقة أكثر من ذلك. يوضح الرسم التخطيطي التالي هذا السيناريو. يمثل الصليب هدف الكاميرا:

مخطّط بياني يُظهر هدف الكاميرا في أسفل يسار
      كاميرا LatLngBounds.

في المخطّط البياني التالي، تكون حدود الكاميرا محدودة للغاية، ما يوفّر للمستخدم فرصة ضئيلة جدًا لتمرير الخريطة أو تحريكها. يمثل الصليب هدف الكاميرا:

مخطّط بياني يُظهر LatLngBounds للكاميرا أصغر من
      إطار العرض

جارٍ تعديل شاشة الكاميرا

لتطبيق CameraUpdate على الخريطة، يمكنك إما تحريك الكاميرا على الفور أو تحريك الكاميرا بسلاسة. لتحريك الكاميرا فورًا باستخدام CameraUpdate المحدَّد، يمكنك الاتصال بـ GoogleMap.moveCamera(CameraUpdate).

يمكنك جعل تجربة المستخدم أكثر إرضاءً، خاصة مع الحركات القصيرة، من خلال تحريك التغيير. لإجراء ذلك بدلاً من الاتصال GoogleMap.moveCamera بالاتصال GoogleMap.animateCamera. ستتحرك الخريطة بسلاسة إلى السمات الجديدة. يوفر الشكل الأكثر تفصيلاً لهذه الطريقة، GoogleMap.animateCamera(cameraUpdate, duration, callback)، ثلاث وسيطات:

cameraUpdate
يصف CameraUpdate موضع تحريك الكاميرا.
callback
كائن ينفذ GoogleMap.CancellableCallback. تحدّد هذه الواجهة العامة للتعامل مع المهام طريقتين "onCancel() " و"onFinished() ". بالنسبة إلى الصور المتحركة، يتم استدعاء الطرق في الحالات التالية:
onFinish()
يتم استدعاؤه في حال انتهاء الصورة المتحركة بدون انقطاع.
onCancel()

يتم استدعاؤه في حال مقاطعة الصورة المتحركة من خلال الاتصال برقم stopAnimation() أو بدء حركة كاميرا جديدة.

بدلاً من ذلك، يمكن أن يحدث ذلك أيضًا عند طلب GoogleMap.stopAnimation().

duration
المدة المطلوبة للحركة بالمللي ثانية، كـ int

توضح مقتطفات الرمز التالية بعض الطرق الشائعة لتحريك الكاميرا.

Kotlin



val sydney = LatLng(-33.88, 151.21)
val mountainView = LatLng(37.4, -122.1)

// Move the camera instantly to Sydney with a zoom of 15.
map.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 15f))

// Zoom in, animating the camera.
map.animateCamera(CameraUpdateFactory.zoomIn())

// Zoom out to zoom level 10, animating with a duration of 2 seconds.
map.animateCamera(CameraUpdateFactory.zoomTo(10f), 2000, null)

// Construct a CameraPosition focusing on Mountain View and animate the camera to that position.
val cameraPosition = CameraPosition.Builder()
    .target(mountainView) // Sets the center of the map to Mountain View
    .zoom(17f)            // Sets the zoom
    .bearing(90f)         // Sets the orientation of the camera to east
    .tilt(30f)            // Sets the tilt of the camera to 30 degrees
    .build()              // Creates a CameraPosition from the builder
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition))

      

Java


LatLng sydney = new LatLng(-33.88,151.21);
LatLng mountainView = new LatLng(37.4, -122.1);

// Move the camera instantly to Sydney with a zoom of 15.
map.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 15));

// Zoom in, animating the camera.
map.animateCamera(CameraUpdateFactory.zoomIn());

// Zoom out to zoom level 10, animating with a duration of 2 seconds.
map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);

// Construct a CameraPosition focusing on Mountain View and animate the camera to that position.
CameraPosition cameraPosition = new CameraPosition.Builder()
    .target(mountainView )      // Sets the center of the map to Mountain View
    .zoom(17)                   // Sets the zoom
    .bearing(90)                // Sets the orientation of the camera to east
    .tilt(30)                   // Sets the tilt of the camera to 30 degrees
    .build();                   // Creates a CameraPosition from the builder
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));