ضبط الكاميرا

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

  • تتبُّع موقعي الجغرافي (GoogleMap.followMyLocation): وضع الكاميرا التلقائي للتنقّل يضبط هذا الوضع الكاميرا على الجهاز أو المركبة. أثناء التنقّل، تواجه الكاميرا تلقائيًا اتجاه السفر.

  • التثبيت في الموقع الجغرافي (GoogleMap.animateCamera وGoogleMap.moveCamera): لتثبيت الكاميرا في موقع جغرافي محدّد عند استخدام هذا الوضع، يمكنك ضبط الموقع الجغرافي للكاميرا بالإضافة إلى خصائص الكاميرا الأخرى، مثل الاتجاه والإمالة والتكبير/التصغير. عند اختيار طريقة العرض هذه وبدء تشغيل Navigator، يظهر زر إعادة التوسيط.

  • عرض نظرة عامة على المسار (NavigationView.showRouteOverview أو NavigationFragment.showRouteOverview): يعرض نظرة عامة على المسار المتبقي (حتى 45 دقيقة من وقت القيادة)، مع العرض الشامل والتكبير حسب الحاجة لملاءمة المسار مع عرض الخريطة. عند اختيار طريقة العرض هذه، يظهر زر إعادة التوسيط.

يؤدي النقر على زر إعادة التوسيط إلى ضبط الكاميرا على وضع "followMyLocation".

وضع "متابعة موقعي الجغرافي"

إعداد الكاميرا الأكثر شيوعًا هو ضبط الكاميرا على الجهاز أو المركبة، مع عرض موضعها الحالي ضمن الرحلة. في وضع الكاميرا هذا، يمكنك عرض المسار مع توجيه السيارة دائمًا نحو أعلى الشاشة من منظور مائل (CameraPerspective.TILTED)، أو يمكنك رؤية السيارة وهي تسير مع توجيه الشمال (CameraPerspective.TOP_DOWN_NORTH_UP) أو الاتجاه (CameraPerspective.TOP_DOWN_HEADING_UP) دائمًا في أعلى الشاشة.

يستخدم مقتطف الرمز التالي المنظور TILTED:

// Set the camera to follow the device (vehicle):
mNavFragment.getMapAsync(googleMap -> googleMap.followMyLocation(CameraPerspective.TILTED))

تم التثبيت في وضع الموقع الجغرافي

يوفّر لك وضع "Pinned" أكبر قدر من التحكّم في الكاميرا. في هذا الوضع، يمكنك وضع الكاميرا في موقع جغرافي محدّد، وتعيين اتجاه لتوجيه عرض الكاميرا، وتغيير الإمالة لضبط زاوية العرض، وضبط مستوى تكبير الكاميرا.

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

private static final LatLng SYDNEY = new LatLng(-33.88, 151.21);
private static final LatLng MOUNTAIN_VIEW = new LatLng(37.4, -122.1);

private GoogleMap map;
... // Obtain the map from a NavigationFragment or NavigationView.

// 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(MOUNTAIN_VIEW)      // 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));

عرض وضع "نظرة عامة على المسار"

يعرض إعداد الكاميرا showRouteOverview الرحلة بأكملها. بالنسبة إلى الرحلات المتعدّدة الوجهات، يعرض هذا الوضع الجزء غير المقطوع من المسار.

// Place the camera to see the remaining route:
mNavFragment.showRouteOverview();

الخطوة التالية

لمزيد من المعلومات حول ضبط مكوّنات واجهة المستخدم المضمّنة، يُرجى الاطّلاع على تخصيص واجهة مستخدم التنقّل.