绘制面 最后更新时间: 2024年11月21日
地图上的面分为圆形和多边形两种
绘制圆
圆形由 Circle 类定义实现,构造一个圆形需要确定它的圆心和半径,具体的示例代码如下:
let circleOptions: CircleOptions = new CircleOptions();
circleOptions.setRadius(15000); //设置圆的半径,单位:米
circleOptions.setCenter(new LatLng(39.996441, 116.411146)); //设置圆心经纬度坐标
circleOptions.setFillColor(0xffff0000); //设置圆的填充颜色
circleOptions.setStrokeColor(0xff00ff00); //设置圆的边框颜色
let circleHoleOptions: CircleHoleOptions = new CircleHoleOptions();
circleHoleOptions.setRadius(5000);
circleHoleOptions.setCenter(new LatLng(39.996441, 116.411146));
circleOptions.addHoles(circleHoleOptions); //添加空心洞的配置项
aMap.addCircle(circleOptions)
绘制多边形
多边形是由 Polygon 类定义的一组在地图上的封闭线段组成的图形,它由一组 LatLng 点按照传入顺序连接而成的封闭图形。与绘制线类似,面的属性操作集中在 PolygonOptions 中。
let polygonOptions: PolygonOptions = new PolygonOptions();
polygonOptions.add(new LatLng(39.781892, 116.293413));
polygonOptions.add(new LatLng(39.787600, 116.391842));
polygonOptions.add(new LatLng(39.733187, 116.417932));
polygonOptions.add(new LatLng(39.704653, 116.338255));
polygonOptions.setFillColor(0xFFFF0000);
let polygonHoleOptions: PolygonHoleOptions = new PolygonHoleOptions;
polygonHoleOptions.add(new LatLng(39.781892 - 0.02, 116.293413 + 0.02));
polygonHoleOptions.add(new LatLng(39.787600 - 0.02, 116.391842 - 0.02));
polygonHoleOptions.add(new LatLng(39.733187 + 0.02, 116.417932 - 0.02));
polygonHoleOptions.add(new LatLng(39.704653 + 0.02, 116.338255 + 0.02));
let list: ArrayList<PolygonHoleOptions> = new ArrayList();
list.add(polygonHoleOptions);
polygonOptions.setHoleOptions(list);
aMap.addPolygon(polygonOptions);