ضبط الكاميرا

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

  • متابعة موقعي (GoogleMap.followMyLocation) — وضع الكاميرا التلقائي للتنقُّل. يضبط هذا الوضع الكاميرا على الجهاز أو المركبة. أثناء التنقّل، تستهدف الكاميرا تلقائيًا اتجاه التنقّل. عند تفعيل إعداد التفاصيل العالية (NavigationMapStyle.HIGH_DETAIL)، يتم عرض مخططات المباني الثنائية الأبعاد عندما يكون مستوى التكبير/التصغير 19 أو أعلى.

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

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

يؤدي النقر على زر إعادة التوسيط إلى ضبط الكاميرا على الوضع 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 SupportNavigationFragment 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();

إعداد عالي التفاصيل

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

يفعِّل هذا المثال الإعداد ذي التفاصيل العالية:

  navigationView.setNavigationMapStyle(NavigationMapStyle.HIGH_DETAIL);

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

  googleMap.followMyLocation(
              FollowMyLocationOptions.builder(CameraPerspective.TILTED)
                      .setZoomLevel(15.0f)
                      .build());

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

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