ArcGis Qt跨平台开发【4】--绘图层(overlay)
2018-11-07 本文已影响0人
阿春_abcdlcq
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 );
