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
是中心。
我正在使用 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
是中心。