افزودن برچسب – B4A

Android SDK Resources

نسخه 1.1

در این آموزش نحوه اضافه کردن یک برچسب با متن دلخواه به یک موقعیت جغرافیایی از نقشه توضیح داده خواهد شد.

جهت پیاده سازی این مثال، باید کتابخانه های زیر را در پنجره Libraries Manager تیک بزنید:

  • JavaObject

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

#AdditionalJar: common-release.aar

activity_add_label.bal

در Visual designer زیر که مربوط به Layout اکتیویتی لایه دیتابیس است، یک View ی نقشه و یک Toggle button وجود دارد که پس از کلیک روی آن در صورت فعال بودن دکمه، برچسب روی نقشه نمایش داده شده و در صورت خاموش بودن دکمه، برچسب حذف میشود.

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

            Private Sub ToggleAddLabelButton_CheckedChange(Checked As Boolean)

End Sub
        

افزودن برچسب روی نقشه

برای افزودن برچسب روی نقشه کافیست متد addLabel را روی شیء نقشه صدا بزنید:

            NeshanMapSdk1.addLabel(latitude, longitude, text, textStyle)
        

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

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

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

text: متن مربوط به برچسب

textStyle: استایل مربوط به متن برچسب (توسط متد generateTextStyle که روی شیء نقشه صدا زده میشود، ساخته میشود)

قطعه کد زیر مربوط به دکمه toggle button است. 

مثال

            Private Sub ToggleAddLabelButton_CheckedChange(Checked As Boolean)
	If Checked Then
		label1 = NeshanMapSdk1.addLabel(35.703558, 51.3396309,"برچسب",NeshanMapSdk1.generateTextStyle(20,"#ff0000",Null,Null,0))
		NeshanMapSdk1.moveCamera(35.703558, 51.3396309,0.5)
		Else
		NeshanMapSdk1.removeLabel(label1)
	End If
End Sub
        

در قطعه کد بالا، در صورتی که دکمه ToggleAddLabelButton در حالت روشن باشد، یک Label در مختصات با عرض جغرافیایی 35.703558 و طول جغرافیایی 51.3396309 با متن “برچسب” با استایلی که توسط متد generateTextStyle ساخته شده است، اضافه میشود. و در صورتی که دکمه در حالت خاموش باشد، برچسب ساخته شده حذف خواهد شد.

خروجی متد addMarker یک شی جاوا از نوع Label است. جهت نگهداری شیء Label باید یک متغیر از نوع JavaObject تعریف کرده و خروجی متد addLabel را درون آن بریزید.

متد removeLabel جهت حذف یک Label استفاده میشود. پارامتر ورودی این متد یک Label از نوع JavaObject است.

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

fontSize: اندازه فونت برچسب

textColor: رنگ متن برچسب

backgroundColor: رنگ پس زمینه برچسب

strokeColor: رنگ خط دور برچسب

strokeWidth: ضخامت خط دور برچسب

نسخه 1.0

در این آموزش نحوه اضافه کردن یک برچسب با متن دلخواه به یک موقعیت جغرافیایی از نقشه توضیح داده خواهد شد.

جهت پیاده سازی این مثال، باید کتابخانه های زیر را در پنجره Libraries Manager تیک بزنید:

  • JavaObject

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

#AdditionalJar: common-release.aar

activity_add_label.bal

در Visual designer زیر که مربوط به Layout اکتیویتی لایه دیتابیس است، یک View ی نقشه و یک Toggle button وجود دارد که پس از کلیک روی آن در صورت فعال بودن دکمه، برچسب روی نقشه نمایش داده شده و در صورت خاموش بودن دکمه، برچسب حذف میشود.

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

            Private Sub ToggleAddLabelButton_CheckedChange(Checked As Boolean)

End Sub
        

افزودن برچسب روی نقشه

برای افزودن برچسب روی نقشه کافیست متد addLabel را روی شیء نقشه صدا بزنید:

            NeshanMapSdk1.addLabel(latitude, longitude, text, textStyle)
        

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

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

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

text: متن مربوط به برچسب

textStyle: استایل مربوط به متن برچسب (توسط متد generateTextStyle که روی شیء نقشه صدا زده میشود، ساخته میشود)

قطعه کد زیر مربوط به دکمه toggle button است. 

مثال

            Private Sub ToggleAddLabelButton_CheckedChange(Checked As Boolean)
	If Checked Then
		label1 = NeshanMapSdk1.addLabel(35.703558, 51.3396309,"برچسب",NeshanMapSdk1.generateTextStyle(20,"#ff0000",Null,Null,0))
		NeshanMapSdk1.moveCamera(35.703558, 51.3396309,0.5)
		Else
		NeshanMapSdk1.removeLabel(label1)
	End If
End Sub
        

در قطعه کد بالا، در صورتی که دکمه ToggleAddLabelButton در حالت روشن باشد، یک Label در مختصات با عرض جغرافیایی 35.703558 و طول جغرافیایی 51.3396309 با متن “برچسب” با استایلی که توسط متد generateTextStyle ساخته شده است، اضافه میشود. و در صورتی که دکمه در حالت خاموش باشد، برچسب ساخته شده حذف خواهد شد.

خروجی متد addMarker یک شی جاوا از نوع Label است. جهت نگهداری شیء Label باید یک متغیر از نوع JavaObject تعریف کرده و خروجی متد addLabel را درون آن بریزید.

متد removeLabel جهت حذف یک Label استفاده میشود. پارامتر ورودی این متد یک Label از نوع JavaObject است.

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

fontSize: اندازه فونت برچسب

textColor: رنگ متن برچسب

backgroundColor: رنگ پس زمینه برچسب

strokeColor: رنگ خط دور برچسب

strokeWidth: ضخامت خط دور برچسب

فهرست مطالب این صفحه