私は私に苦しんでいて、仮想円弧上PointLatLngの一覧を取得しますGMAP-アプリケーション与えられた3点(中央部、開始、終了)
GMAP.NETライブラリを使用して、私は満たされたARC-を描画しようとしていますポリゴン3座標:center_coordinate
,start_coordinate
およびend_coordinate
(すべてがDD,MM.MMM
の形式)。
円弧を適切な解像度で地図上にポリゴンとして描画することを知っているので、私はさらに多くのセグメントと時計回り/反時計回りの方向情報を定義します。
GMAP.NETを使用してポリゴン(List of PointLatLng
によって生成)をマップに描画する方法は、一般的にわかっています。それはうまく動作するので、私はPointLatLng
のリストを取得することを決めた。
私の問題は、理想的な弧の各点をどのように計算するかについて具体的な考え方がないことです。私はこれまで
Public Function list_of_points_on_arc(point_center As PointLatLng, point_arc_start As PointLatLng, point_arc_end As PointLatLng, direction As String) As List(Of PointLatLng)
'direction: CW - clockwise/CC - Counter Clockwise
Const radiusEarthKilometres As Double = 6371.01
'sets the resolution of arc
Dim elements As Integer = 20
'unknown point on arc, each ...element
Dim point_on_arc As PointLatLng
'List collects all points aon arc
Dim gpollist As List(Of PointLatLng) = New List(Of PointLatLng)
For i As Integer = 0 To elements
' ?????????????????????????????????????????????????????????
'calculates new point_on_arc based on following information
' - elements, point_center, point_arc_start, point_arc_end
' ...
'
' ...
'
' point_on_arc = New PointLatLng(on_arc_lat, on_arc_lon)
' ?????????????????????????????????????????????????????????
'adds point_on_arc to list
gpollist.Add(point_on_arc)
Next
'returns list of pointsLatLon
Return gpollist
End Function
正しい方向に私をプッシュするすべてのヘルプをやった
が高く評価されています。ありがとう。 、rは半径である
x = cx + r * cos(a)
y = cy + r * sin(a)
、CX起源をCY、aはラジアン単位の角度です: