رسم چند ضلعی – B4A

Android SDK Resources

نسخه 1.1

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

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

  • GPS

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

#AdditionalJar: common-release.aar

activity_draw_polygon.bal

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

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

            Private Sub DrawPolygonButton_Click

End Sub
        

ترسیم چند ضلعی روی نقشه

جهت ترسیم چندضلعی روی نقشه میتوانید از متد drawPolygon روی شیء نقشه به صورت زیر استفاده نمایید:

            NeshanMapSdk1.drawPolygon(polygonPoints,polygonStyle)
        

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

polygonPoints: لیست نقاط تشکیل دهنده چند ضلعی

polygonStyle: استایل چند ضلعی

مثال

            Private Sub DrawPolygonButton_Click
	Dim polygonPoints As List
	Dim point1 As Location
	Dim point2 As Location
	Dim point3 As Location
	
	point1.Initialize
	point2.Initialize
	point3.Initialize
	
	point1.Latitude = 35.70052667167599
	point1.Longitude= 51.3409341472256
	
	point2.Latitude = 35.70193648384528
	point2.Longitude= 51.35916617259294
	
	point3.Latitude = 35.73698256924895
	point3.Longitude= 51.35048199622513
	
	polygonPoints.Initialize
	
	polygonPoints.Add(point1)
	polygonPoints.Add(point2)
	polygonPoints.Add(point3)
	
	NeshanMapSdk1.drawPolygon(polygonPoints,NeshanMapSdk1.generatePolygonStyle(NeshanMapSdk1.generateLineStyle("#0277bd",6),"#300277bd"))
	NeshanMapSdk1.moveCamera(35.70052667167599,51.3409341472256,0.5)
End Sub
        

در مثال بالا 3 نقطه point1 و point2 و point3 از نوع Location تعریف شده است. سپس این 3 نقطه به متغیر polygonPoints که از نوع List است اضافه میشود و متغیر polygonPoints به عنوان اولین پارامتر متد drawPolygon ارسال میشود.

پارامتر دوم متد drawPolygon، استایل چند ضلعی است که از طریق متد generatePolygonStyle که روی شیء نقشه صدا زده میشود، ایجاد میشود. خروجی متد generatePolygonStyle یک شیء از نوع PolygonStyle است که دارای 2 پارامتر است که پارامتر اول lineStyle و پارامتر دوم fillHexColor میباشد.

lineStyle: تعیین کننده استایل خط دور چند ضلعی است که توسط متد generateLineStyle که روی شیء نقشه صدا زده میشود، ایجاد میشود.

متد generateLineStyle دارای 2 پارامتر به نام های lineHexColor و lineWidth است که پارامتر lineHexColor تعیین کننده رنگ خط و lineWidth تعیین کننده ضخامت آن میباشد.

fillHexColor: تعیین کننده رنگ داخل چند ضلعی که از نوع String است. در اینجا رنگ داخل چند ضلعی توسط کد رنگ هگزادسیمال 300277bd# که به رنگ آبی شفاف است پر میشود. (2 کاراکتر اول پس از # در کد رنگ تعیین کننده میزان شفافیت رنگ و 6 کاراکتر بعدی تعیین کننده رنگ مورد نظر است. برای مثال در صورتی که میخواهید داخل چند ضلعی بدون رنگ باشد، باید دو کاراکتر اول را صفر وارد نمایید. برای مثال 00ffffff#)

نسخه 1.0

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

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

  • GPS

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

#AdditionalJar: common-release.aar

activity_draw_polygon.bal

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

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

            Private Sub DrawPolygonButton_Click

End Sub
        

ترسیم چند ضلعی روی نقشه

جهت ترسیم چندضلعی روی نقشه میتوانید از متد drawPolygon روی شیء نقشه به صورت زیر استفاده نمایید:

            NeshanMapSdk1.drawPolygon(polygonPoints,polygonStyle)
        

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

polygonPoints: لیست نقاط تشکیل دهنده چند ضلعی

polygonStyle: استایل چند ضلعی

مثال

            Private Sub DrawPolygonButton_Click
	Dim polygonPoints As List
	Dim point1 As Location
	Dim point2 As Location
	Dim point3 As Location
	
	point1.Initialize
	point2.Initialize
	point3.Initialize
	
	point1.Latitude = 35.70052667167599
	point1.Longitude= 51.3409341472256
	
	point2.Latitude = 35.70193648384528
	point2.Longitude= 51.35916617259294
	
	point3.Latitude = 35.73698256924895
	point3.Longitude= 51.35048199622513
	
	polygonPoints.Initialize
	
	polygonPoints.Add(point1)
	polygonPoints.Add(point2)
	polygonPoints.Add(point3)
	
	NeshanMapSdk1.drawPolygon(polygonPoints,NeshanMapSdk1.generatePolygonStyle(NeshanMapSdk1.generateLineStyle("#0277bd",6),"#300277bd"))
	NeshanMapSdk1.moveCamera(35.70052667167599,51.3409341472256,0.5)
End Sub
        

در مثال بالا 3 نقطه point1 و point2 و point3 از نوع Location تعریف شده است. سپس این 3 نقطه به متغیر polygonPoints که از نوع List است اضافه میشود و متغیر polygonPoints به عنوان اولین پارامتر متد drawPolygon ارسال میشود.

پارامتر دوم متد drawPolygon، استایل چند ضلعی است که از طریق متد generatePolygonStyle که روی شیء نقشه صدا زده میشود، ایجاد میشود. خروجی متد generatePolygonStyle یک شیء از نوع PolygonStyle است که دارای 2 پارامتر است که پارامتر اول lineStyle و پارامتر دوم fillHexColor میباشد.

lineStyle: تعیین کننده استایل خط دور چند ضلعی است که توسط متد generateLineStyle که روی شیء نقشه صدا زده میشود، ایجاد میشود.

متد generateLineStyle دارای 2 پارامتر به نام های lineHexColor و lineWidth است که پارامتر lineHexColor تعیین کننده رنگ خط و lineWidth تعیین کننده ضخامت آن میباشد.

fillHexColor: تعیین کننده رنگ داخل چند ضلعی که از نوع String است. در اینجا رنگ داخل چند ضلعی توسط کد رنگ هگزادسیمال 300277bd# که به رنگ آبی شفاف است پر میشود. (2 کاراکتر اول پس از # در کد رنگ تعیین کننده میزان شفافیت رنگ و 6 کاراکتر بعدی تعیین کننده رنگ مورد نظر است. برای مثال در صورتی که میخواهید داخل چند ضلعی بدون رنگ باشد، باید دو کاراکتر اول را صفر وارد نمایید. برای مثال 00ffffff#)