رسم کمان (Arc) – B4A

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

نسخه 1.1

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

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

  • Reflection

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

#AdditionalJar: common-release.aar

activity_draw_arc.bal

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

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

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

            Private Sub DrawArcButton_Click

End Sub
        

ترسیم کمان

متد drawArc کمانی را بین 2 نقطه داده شده بر روی نقشه رسم می‌کند.

            NeshanMapSdk1.drawArc(arcPoint1,arcPoint2,lineStyle)
        

خروجی متد drawArc یک شی از نوع Polyline است که باید آن را در یک متغیر از نوع JavaObject قرار داد.

حذف کمان

برای حذف کمان کافیست از متد removeLine روی نقشه استفاده نمایید و کمان ایجاد شده توسط متد drawArc را به عنوان پارامتر آن ارسال نمایید.

            NeshanMapSdk1.removeLine(arc)
        

مثال

            Private Sub DrawArcButton_Click
	Dim arcPoint1 As Location
	Dim arcPoint2 As Location
	
	arcPoint1.Initialize
	arcPoint2.Initialize
	
	arcPoint1.Latitude = 35.83520097220599
	arcPoint1.Longitude = 50.947241073069456
	
	arcPoint2.Latitude = 35.821248292881286
	arcPoint2.Longitude = 50.946211104843
	
	Dim arc As JavaObject = NeshanMapSdk1.drawArc(arcPoint1,arcPoint2,NeshanMapSdk1.generateLineStyle("#000000",2))
End Sub