متدهای کار با دوربین

مستندات جامع اندروید

متد moveToCameraBounds

به منظور نمایش محدوده ای دلخواه از نقشه استفاده میشود.

نحوه استفاده:

            LatLng northEast = new LatLng(maxLat, maxLng);
LatLng southWest = new LatLng(minLat, minLng);

mapView.moveToCameraBounds(new LatLngBounds(northEast, southWest), 
new ScreenBounds(new ScreenPos(0, 0), new ScreenPos(mapView.getWidth(), mapView.getHeight())), 
integerZoom, duration);
        

در نمونه کد بالا، متد moveToCameraBounds محدوده بین نقاط northEast (شمال شرقی) و southWest (جنوب غربی) را نمایش میدهد.

پارامترها:

LatLngBounds: این پارامتر محدوده نمایش نقشه را توسط مشخص کردن 2 نقطه شمال شرقی و جنوب غربی تعیین میکند.

ScreenBounds: تعیین کننده قسمتی از صفحه است که قرار است محدوده روی آن نمایش داده شود. 

IntegerZoom: در صورت true بودن، نزدیک ترین زوم integer برای محدوده انتخاب میشود و در صورت false بودن زوم محدوده دقیقا روی نقاط انتخابی شمال شرقی و جنوب غربی قرار میگیرد.

Duration: مدت زمان انیمیشن نمایش محدوده به ثانیه

متد moveCamera

برای جابجا کردن دوربین استفاده میشود.

نحوه استفاده:

            LatLng pos = new LatLng(latitude,longitude);
mapView.moveCamera(pos,durationInSeconds);
        

نمونه کد بالا دوربین را روی نقطه ای با مختصات latitude و longitude انتقال میدهد.

پارامترها:

pos: نقطه ای که دوربین رو آن قرار میگیرد.

durationInSeconds: مدت زمان اجرای انیمیشن حرکت دوربین به ثانیه

متد setOnCameraMoveListener

هنگامی که دوربین حرکت کند این متد صدا زده میشود.

نحوه استفاده:

            mapview.setOnCameraMoveListener(new MapView.OnCameraMoveListener() {
    @Override
    public void onCameraMove() {

    }
});
        

هنگامی که نقشه شروع به حرکت کند متد onCameraMove صدا زده میشود. این متد تا زمانی که نقشه در حال حرکت باشد صدا زده میشود.

متد setOnCameraMoveStartListener

هنگامی که دوربین شروع به حرکت کند صدا زده میشود.

            mapView.setOnCameraMoveStartListener(new MapView.OnCameraMoveStartListener() {
    @Override
    public void onCameraMoveStart(int i) {

    }
});
        

مقدار متغیر i بر اساس اینکه کاربر دوربین را حرکت داده است یا توسط متد moveCamera حرکت کرده است متفاوت است. مقدار i هنگامی که کاربر حرکت را خاتمه دهد برابر عدد 3 و هنگامی که توسط متد moveCamera یا متد setCameraZoom یا متد setBearing و یا متد setTilt حرکت کرده و خاتمه پیدا کند برابر عدد 1 خواهد بود.

متد setOnCameraMoveFinishedListener

هنگامی که دوربین از حرکت بایستد صدا زده میشود.

            mapView.setOnCameraMoveFinishedListener(new MapView.OnCameraMoveFinishedListener() {
    @Override
    public void onCameraMoveFinished(int i) {

     }
});
        

مقدار متغیر i بر اساس اینکه کاربر دوربین را حرکت داده است یا توسط متد moveCamera حرکت کرده است متفاوت است. مقدار i هنگامی که کاربر حرکت را خاتمه دهد برابر عدد 3 و هنگامی که توسط متد moveCamera یا متد setCameraZoom یا متد setBearing و یا متد setTilt حرکت کرده و خاتمه پیدا کند برابر عدد 1 خواهد بود.

متد getCameraTargetPosition

مختصات وسط نقشه را در قالب یک آبجکت LatLng برمیگرداند.

            mapView.getCameraTargetPosition();