0

I'm using Gmap.Get great mapping tools to develop an enterprise software. How to calculate center of polygon in Gmap.Net using polygon points?

4

2 回答 2

0

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是中心。

于 2020-01-16T07:18:03.113 回答
0

使用以下代码在 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
于 2015-08-01T05:09:53.233 回答