【发布时间】:2019-05-19 17:43:30
【问题描述】:
我正在使用下面的代码来查找多边形的中心以在多边形上打印一些文本,但它不适用于图片中显示的多边形(最后的图片链接)
private LatLng getPolygonCenterPoint(ArrayList<LatLng> polygonPointsList){
LatLng centerLatLng = null;
LatLngBounds.Builder builder = new LatLngBounds.Builder();
for(int i = 0 ; i < polygonPointsList.size() ; i++)
{
builder.include(polygonPointsList.get(i));
}
LatLngBounds bounds = builder.build();
centerLatLng = bounds.getCenter();
return centerLatLng;
}
如何找到多边形的中心 LATLNG(如下图)并且 LATLNG 应该在多边形内部。
【问题讨论】:
-
不是重复的,但是由于你的多边形是凹的,你可以看看这个:stackoverflow.com/a/9939071/783707
-
LatLngBounds.getCenter被很好地定义为点的平均值;你的首要任务是正确定义你的意思作为中心,这将始终如一地得到你想要的。 (也许在你的图片上打一个点来帮助解释。)
标签: java android google-maps google-maps-api-3