कैमरा अडजस्ट करें

कैमरे की मदद से, मैप पर उपयोगकर्ता के व्यूपॉइंट को बदला जा सकता है. नेविगेशन के दौरान मैप व्यू को कंट्रोल करने के लिए, कैमरे के मोड का इस्तेमाल किया जा सकता है. कैमरा मोड सेट करने के लिए, कैमरे से जुड़े इनमें से किसी एक तरीके को कॉल करें:

  • मेरी जगह की जानकारी का पालन करें (GoogleMap.followMyLocation) — नेविगेशन के लिए, डिफ़ॉल्ट कैमरा मोड. यह मोड, कैमरे को डिवाइस या वाहन पर सेट करता है. नेविगेट करने के दौरान, कैमरा अपने-आप यात्रा की दिशा में फ़ोकस करता है. ज़्यादा जानकारी वाली सेटिंग चालू होने पर (NavigationMapStyle.HIGH_DETAIL), ज़ूम लेवल 19 या उससे ज़्यादा होने पर, इमारत की 2-D आउटलाइन दिखती हैं.

  • जगह के हिसाब से पिन किया गया (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 या उससे ज़्यादा पर सेट होने पर, इमारत की 2-D आउटलाइन दिखती हैं. नेविगेशन के दौरान, FollowMyLocationOptions ऑब्जेक्ट का इस्तेमाल करके ज़ूम लेवल को बदला जा सकता है. इससे, ज़ूम लेवल को इतना बढ़ाया जा सकता है कि उपयोगकर्ता अपने डेस्टिनेशन के करीब पहुंचने पर, इमारत की 2-D आउटलाइन दिख सकें.

इस उदाहरण में, ज़्यादा जानकारी वाली सेटिंग चालू की गई है:

  navigationView.setNavigationMapStyle(NavigationMapStyle.HIGH_DETAIL);

इस उदाहरण में, नेविगेशन के दौरान कैमरे के ज़ूम लेवल को बदला गया है. ज़ूम लेवल 15 पर सेट है. यह ज़ूम लेवल, इमारत की 2-D आउटलाइन दिखाने के लिए काफ़ी है.

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

अगला चरण

नेविगेशन यूज़र इंटरफ़ेस (यूआई) को पसंद के मुताबिक बनाना लेख पढ़ें. इससे आपको यह तय करने का तरीका पता चलेगा कि मैप पर कौनसे यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट दिखें, ताकि उपयोगकर्ता आपके मैप के साथ बेहतर तरीके से इंटरैक्ट कर सकें.