【发布时间】:2017-06-09 12:05:06
【问题描述】:
无论点击地图的顺序如何,我都想创建一个正多边形。目前我面临一个问题,如果单击地图以以下方式绘制多边形,那么它可以正常工作,顺序如下 左上 右下 右下 左下。如果保持这个顺序,那么如果我点击右上角、左上角、右下角,多边形绘制的效果也很好。如果当我更改一品脱的顺序时,它不会绘制正确形状的多边形 图片1
代码 2 绘制多边形如下
gMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() {
@Override
public void onMapClick(LatLng latLng) {
llClearSelection.setVisibility(View.VISIBLE);
gMap.addMarker(new MarkerOptions().anchor(0.5f, 0.5f).icon(BitmapDescriptorFactory.fromResource(R.drawable.marker)).position(latLng));
if (markerClicked) {
// latLngArrayListPolygon.clear();
if (polygon != null) {
polygon.remove();
polygon = null;
}
polygonOptions.add(latLng);
latLngArrayListPolygon.add(latLng);
polygonOptions.strokeColor(Color.RED);
polygonOptions.fillColor(shadeColor);
polygon = gMap.addPolygon(polygonOptions);
if (latLngArrayListPolygon.size() > 1)
ivSaveMap.setVisibility(View.VISIBLE);
else
ivSaveMap.setVisibility(View.GONE);
} else {
if (polygon != null) {
polygon.remove();
polygon = null;
}
polygonOptions = new PolygonOptions().add(latLng);
latLngArrayListPolygon.add(latLng);
markerClicked = true;
}
}
});
我担心的是我想绘制一个规则的形状,而不管点击地图的顺序如何
【问题讨论】:
-
您可能想看看convex hull 是什么以及如何实现它
标签: android google-maps polygon