رسم دایره – B4A

Android SDK Resources

نسخه 1.1

در این بخش از پروژه، هدف رسم یک دایره بر روی نقشه است.

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

#AdditionalJar: common-release.aar

activity_draw_circle.bal

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

جهت تعریف شیء نقشه در کد روی View ی مربوط به نقشه که نام آن در این مثال NeshanMapSdk1 است راست کلیک کرده و از منوی باز شونده Generate، گزینه Dim NeshanMapSdk1 as NeshanMapSdk را انتخاب میکنیم. پس از این عمل، شیء نقشه در فایل کد مربوط به اکتیویتی رسم دایره (DrawCircleActivity) در قسمت 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
        

جهت ایجاد Event مربوط به ToggleButton، به Visual Designer مربوط به اکتیویتی DrawCircleActivity رفته و روی ToggleButton راست کلیک کنید و از منوی باز شونده Generate گزینه CheckedChange را انتخاب کنید تا Event مربوط به تغییر مقدار ToggleButton به اکتیویتی اضافه شود.

            Private Sub ToggleDrawCircleButton_CheckedChange(Checked As Boolean)

End Sub
        

ترسیم دایره روی نقشه

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

            NeshanMapSdk1.drawCircle(latitude, longitude , radius, fillHexColor, lineWidth, lineHexColor)
        

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

latitude: عرض جغرافیایی

longitude: طول جغرافیایی

radius: قطر دایره

fillHexColor: رنگ داخل دایره

lineWidth: ضخامت خط دور دایره

lineHexColor: رنگ خط دور دایره

مثال

            Private Sub ToggleDrawCircleButton_CheckedChange(Checked As Boolean)
	If Checked Then
		circle = NeshanMapSdk1.drawCircle(35.704265616226984,51.33377893573895,250,"#50ff0000",5,"#0277bd")
		NeshanMapSdk1.moveCamera(35.704265616226984,51.33377893573895,0.5)
	Else
		NeshanMapSdk1.removeCircle(circle)
	End If
End Sub
        

در قطعه کد بالا در صورتی که دکمه Toggle button در حالت روشن باشد، دایره ای با مشخصات داده شده به متد drawCircle ترسیم میشود و در صورتی که دکمه در حالت خاموش باشد، دایره ترسیم شده توسط متد removeCircle حذف خواهد شد.

نسخه 1.0

در این بخش از پروژه، هدف رسم یک دایره بر روی نقشه است.

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

#AdditionalJar: common-release.aar

activity_draw_circle.bal

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

جهت تعریف شیء نقشه در کد روی View ی مربوط به نقشه که نام آن در این مثال NeshanMapSdk1 است راست کلیک کرده و از منوی باز شونده Generate، گزینه Dim NeshanMapSdk1 as NeshanMapSdk را انتخاب میکنیم. پس از این عمل، شیء نقشه در فایل کد مربوط به اکتیویتی رسم دایره (DrawCircleActivity) در قسمت 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
        

جهت ایجاد Event مربوط به ToggleButton، به Visual Designer مربوط به اکتیویتی DrawCircleActivity رفته و روی ToggleButton راست کلیک کنید و از منوی باز شونده Generate گزینه CheckedChange را انتخاب کنید تا Event مربوط به تغییر مقدار ToggleButton به اکتیویتی اضافه شود.

            Private Sub ToggleDrawCircleButton_CheckedChange(Checked As Boolean)

End Sub
        

ترسیم دایره روی نقشه

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

            NeshanMapSdk1.drawCircle(latitude, longitude , radius, fillHexColor, lineWidth, lineHexColor)
        

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

latitude: عرض جغرافیایی

longitude: طول جغرافیایی

radius: قطر دایره

fillHexColor: رنگ داخل دایره

lineWidth: ضخامت خط دور دایره

lineHexColor: رنگ خط دور دایره

مثال

            Private Sub ToggleDrawCircleButton_CheckedChange(Checked As Boolean)
	If Checked Then
		circle = NeshanMapSdk1.drawCircle(35.704265616226984,51.33377893573895,250,"#50ff0000",5,"#0277bd")
		NeshanMapSdk1.moveCamera(35.704265616226984,51.33377893573895,0.5)
	Else
		NeshanMapSdk1.removeCircle(circle)
	End If
End Sub
        

در قطعه کد بالا در صورتی که دکمه Toggle button در حالت روشن باشد، دایره ای با مشخصات داده شده به متد drawCircle ترسیم میشود و در صورتی که دکمه در حالت خاموش باشد، دایره ترسیم شده توسط متد removeCircle حذف خواهد شد.