gmap.net 中的多边形中心

Center of polygon in gmap.net

我正在使用 Gmap.Get 出色的地图绘制工具来开发企业软件。如何使用多边形点计算 Gmap.Net 中的多边形中心?

使用以下代码计算 Gmap.Net 中多边形的中心:

Private Function CalculateCenterOfPolygon(polyPoints As List(Of PointLatLng)) As PointLatLng
    Dim centerPoint As New PointLatLng()
    Dim sum As Integer = 0
    Dim Lat As Double = 0
    Dim Lng As Double = 0
    For Each point As PointLatLng In polyPoints
        sum += 1
        Lat += point.Lat
        Lng += point.Lng
    Next
    Lat = Lat / sum
    Lng = Lng / sum

    centerPoint.Lat = Lat
    centerPoint.Lng = Lng

    Return centerPoint
End Function

用多边形的点计算RectLatLng

double lat = points.Max(item => item.Lat);
double lng = points.Min(item => item.Lng);

double height = lat - points.Min(item => item.Lat);
double width = points.Max(item => item.Lng) - lng;

var rect = new RectLatLng(lat, lng, width, height);

rect.LocationMiddle是中心。