MapCanvas地图画布 - TheWrangler/sqGis GitHub Wiki

MapCanvas地图画布

  • 为多个图层的绘制提供绘图窗口
  • class QgsMapCanvas
    • layers(),获取图层列表(只包含显示的图层,不包含隐藏的图层)
    • mapUnits(),制图单位
    • extent(),当前画布的范围,使用zoom或者pan工具可改变画布显示范围
    • setMapTool(),设置当前画布使用的工具
    • mapTool(),获取当前画布使用的工具
    • canvasColor(),设置画布背景色
    • 坐标转换公式,用于地图坐标到窗口像素坐标的转换,使用getCoordinateTransfiom()方法获取

Map Canvas Item地图画布元素

  • 地图画布元素为直接绘制在地图画布上的元素,在所有图层的最顶层绘制
  • class QgsMapCanvasItem
  • QgsMapCanvasItem的三个子类
    • QgsVertexMarker在给定位置绘制一个符号(icon、X、+等等)
    • QgsRubberBand绘制任意多边形或折线,其中一个目的是用户使用MapTool在图层上绘制一个多边形时,给出一个可视化的反馈
    • QgsAnnotationItem以球状形式显示feature的额外信息。可以继承该类实现信息的显示方式