项目中用到mapabc 绘制矩形区域。客户只能手动选择中心点,并填写区域的宽和高,切单位为km。要求实时显示规划区域。
记录笔记。
第一步找到地图绘制多边形api
polygon = map.addPolygon(new PolygonOptions()
.addAll(createRectangle(marker.getPosition(), 1, 1))//绘制多边形顶点坐标
.fillColor(0x1A1677FF)//填充颜色
.strokeColor(0xDE1677FF)//边界颜色
.strokeWidth(5));//边界宽度
我们已知顶点坐标和客户输入的宽高km 需要计算多边形的顶点坐标(矩形):
/**
* 生成一个长方形的四个坐标点
*/
private ListcreateRectangle(LatLng center, double halfWidth,
double halfHeight) {
float distance = (float) Math.sqrt(halfWidth * halfWidth + halfHeight * halfHeight);//计算直角三角形斜边 。
float degree= getDegree(0.0,0.0,-halfWidth,0.0,-halfWidth,halfHeight);//计算三角形锐角角度
//生成四边形四个点坐标