MapGraphicsView可以添加绘图层,主要用于绘制一些自定义的图元,比如点、线、图片等,每个图元是一个Graphic对象,相应的关联一个Symbol,也就是线、多线、多边形等。
//添加绘图层到地图
GraphicsOverlay* l = new GraphicsOverlay( this );
l->setMaxScale( 0 );
l->setMinScale( 1200 );
l->setOverlayId( "FiguresLayer" );
l->setOpacity( 0.8 );
m_mapView->graphicsOverlays()->append( l );
//添加直线图元
SimpleLineSymbol* lineSymbol = new SimpleLineSymbol(lineStyle, color, width, this);
lineSymbol->setAntiAlias( true );
PolylineBuilder lineBuilder(spatialReference());
lineBuilder.addPoint( startPos.x(), startPos.y() );
lineBuilder.addPoint( endPos.x(), endPos.y() );
Graphic* g = new Graphic(lineBuilder.toGeometry(), vm, lineSymbol, this);
l->graphics()->append( g );
各种图形随便画