تغییر زاویه دوربین – B4A

Android SDK Resources

نسخه 1.1

در این آموزش هدف ما تغییر زاویه دوربین است.

نکته‌ای که در SeekBar وجود دارد این است که میزان مینیمم و ماکزیمم آن به ترتیب ۰ و ۶۰ است در حالی که همان‌طور که گفته شد این میزان برای نقشه نشان برابر با ۳۰ و ۹۰ است، پس در طول برنامه برای استفاده از مقداری که این SeekBar مشخص می‌کند، آن مقدار را با ۳۰ جمع می‌کنیم.

در فایل Main پروژه در قسمت Region Project Attributes خط زیر را اضافه کنید:

#AdditionalJar: common-release.aar

activity_tilt_camera.bal

در Visual designer زیر که مربوط به Layout اکتیویتی تغییر زاویه دوربین است، یک View ی نقشه و یک SeekBar که با حرکت دادن اهرم آن زاویه دوربین عوض میشود، اضافه شده است.

جهت تعریف شیء نقشه در کد روی View ی مربوط به نقشه که نام آن در این مثال NeshanMapSdk1 است راست کلیک کرده و از منوی باز شونده Generate، گزینه Dim NeshanMapSdk1 as NeshanMapSdk را انتخاب میکنیم. پس از این عمل، شیء نقشه در فایل کد مربوط به اکتیویتی تغییر زاویه دوربین (TiltCameraActivity) در قسمت Globals اضافه میشود.

            Sub Globals
	'These global variables will be redeclared each time the activity is created.
	'These variables can only be accessed from this module.

	Private NeshanMapSdk1 As NeshanMapSdk
End Sub
        

جهت پیاده سازی متد تغییر مقدار روی SeekBar کافیست Visual designer مربوط به TiltCameraActivity را باز کرده، روی SeekBar ی که قبلا اضافه شده است راست کلیک کنید و از زیر منوی Generate گزینه ValueChanged را انتخاب کنید تا Event تغییر مقدار مربوط به SeekBar در TiltCameraActivity پیاده سازی شود.

            Private Sub TiltSeek_ValueChanged (Value As Int, UserChanged As Boolean)

End Sub
        

تغییر زاویه دوربین

جهت تغییر زاویه دوربین میتوانید از متد setCameraTilt روی شیء نقشه به صورت زیر استفاده نمایید:

            NeshanMapSdk1.setCameraTilt(angle,duration,minTilt,maxTilt)
        

پارامترهای مربوط به متد setCameraTilt:

angle: مقدار زاویه

duration: مدت زمان تغییر زاویه بر حسب ثانیه

minTilt: پایین ترین میزان زاویه (بازه مربوط به تغییر زاویه دوربین بین 30 تا 90 درجه است. مقدار این پارامتر نمیتواند از 30 کمتر باشد. هر مقداری به این پارامتر پاس داده شود، مقدار زاویه ای که توسط کاربر روی دوربین انجام میگیرد از این مقدار پایینتر نخواهد رفت)

maxTilt: بالاترین میزان زاویه (بازه مربوط به تغییر زاویه دوربین بین 30 تا 90 درجه است. مقدار این پارامتر نمیتواند از 90 کمتر باشد. هر مقداری به این پارامتر پاس داده شود، مقدار زاویه ای که توسط کاربر روی دوربین انجام میگیرد از این مقدار بالاتر نخواهد رفت)

مثال

            Private Sub TiltSeek_ValueChanged (Value As Int, UserChanged As Boolean)
	If UserChanged Then
		NeshanMapSdk1.setCameraTilt(Value+30,0,30,90)
	End If
End Sub
        

نسخه 1.0

در این آموزش هدف ما تغییر زاویه دوربین است.

نکته‌ای که در SeekBar وجود دارد این است که میزان مینیمم و ماکزیمم آن به ترتیب ۰ و ۶۰ است در حالی که همان‌طور که گفته شد این میزان برای نقشه نشان برابر با ۳۰ و ۹۰ است، پس در طول برنامه برای استفاده از مقداری که این SeekBar مشخص می‌کند، آن مقدار را با ۳۰ جمع می‌کنیم.

در فایل Main پروژه در قسمت Region Project Attributes خط زیر را اضافه کنید:

#AdditionalJar: common-release.aar

activity_tilt_camera.bal

در Visual designer زیر که مربوط به Layout اکتیویتی تغییر زاویه دوربین است، یک View ی نقشه و یک SeekBar که با حرکت دادن اهرم آن زاویه دوربین عوض میشود، اضافه شده است.

جهت تعریف شیء نقشه در کد روی View ی مربوط به نقشه که نام آن در این مثال NeshanMapSdk1 است راست کلیک کرده و از منوی باز شونده Generate، گزینه Dim NeshanMapSdk1 as NeshanMapSdk را انتخاب میکنیم. پس از این عمل، شیء نقشه در فایل کد مربوط به اکتیویتی تغییر زاویه دوربین (TiltCameraActivity) در قسمت Globals اضافه میشود.

            Sub Globals
	'These global variables will be redeclared each time the activity is created.
	'These variables can only be accessed from this module.

	Private NeshanMapSdk1 As NeshanMapSdk
End Sub
        

جهت پیاده سازی متد تغییر مقدار روی SeekBar کافیست Visual designer مربوط به TiltCameraActivity را باز کرده، روی SeekBar ی که قبلا اضافه شده است راست کلیک کنید و از زیر منوی Generate گزینه ValueChanged را انتخاب کنید تا Event تغییر مقدار مربوط به SeekBar در TiltCameraActivity پیاده سازی شود.

            Private Sub TiltSeek_ValueChanged (Value As Int, UserChanged As Boolean)

End Sub
        

تغییر زاویه دوربین

جهت تغییر زاویه دوربین میتوانید از متد setCameraTilt روی شیء نقشه به صورت زیر استفاده نمایید:

            NeshanMapSdk1.setCameraTilt(angle,duration,minTilt,maxTilt)
        

پارامترهای مربوط به متد setCameraTilt:

angle: مقدار زاویه

duration: مدت زمان تغییر زاویه بر حسب ثانیه

minTilt: پایین ترین میزان زاویه (بازه مربوط به تغییر زاویه دوربین بین 30 تا 90 درجه است. مقدار این پارامتر نمیتواند از 30 کمتر باشد. هر مقداری به این پارامتر پاس داده شود، مقدار زاویه ای که توسط کاربر روی دوربین انجام میگیرد از این مقدار پایینتر نخواهد رفت)

maxTilt: بالاترین میزان زاویه (بازه مربوط به تغییر زاویه دوربین بین 30 تا 90 درجه است. مقدار این پارامتر نمیتواند از 90 کمتر باشد. هر مقداری به این پارامتر پاس داده شود، مقدار زاویه ای که توسط کاربر روی دوربین انجام میگیرد از این مقدار بالاتر نخواهد رفت)

مثال

            Private Sub TiltSeek_ValueChanged (Value As Int, UserChanged As Boolean)
	If UserChanged Then
		NeshanMapSdk1.setCameraTilt(Value+30,0,30,90)
	End If
End Sub