MapPolygon QML 类型

The MapPolygon type displays a polygon on a Map. More...

导入语句import QtLocation 6.7
自从QtLocation 5.5

属性

方法

详细描述

The MapPolygon type displays a polygon on a Map, specified in terms of an ordered list of coordinates. For best appearance and results, polygons should be simple (not self-intersecting).

The coordinates on the path cannot be directly changed after being added to the Polygon. Instead, copy the path into a var, modify the copy and reassign the copy back to the path.

var path = mapPolygon.path;
path[0].latitude = 5;
mapPolygon.path = path;

Coordinates can also be added and removed at any time using the addCoordinate and removeCoordinate methods.

For drawing rectangles with "straight" edges (same latitude across one edge, same latitude across the other), the MapRectangle type provides a simpler, two-point API.

By default, the polygon is displayed as a 1 pixel black border with no fill. To change its appearance, use the color, border.color and border.width properties.

注意:由于 MapPolygons 是地理项,使用 MouseAreaPointHandler 拖动 MapPolygon 将导致其在地理坐标系中重新计算顶点。边保留相同的地理长度(顶点之间的大气测量纬度和经度差异),但保持直线。将项拖动到不同的纬度时会发生明显的拉伸。

使用示例

以下片段展示了如何使用MapPolygon显示三角形,三个顶点位于澳大利亚布里斯班附近。三角形填充为绿色,并带有1像素的黑色边缘。

Map {
    MapPolygon {
        color: 'green'
        path: [
            { latitude: -27, longitude: 153.0 },
            { latitude: -27, longitude: 154.1 },
            { latitude: -28, longitude: 153.5 }
        ]
    }
}

属性文档

autoFadeIn : bool

此属性存储在放大地图时,项目是否从非常低的缩放级别开始自动淡入。默认情况下此值为true。将此属性设置为false将导致地图项始终具有由QtQuick::Item::opacity属性指定的透明度,默认为1.0。


边框组

border.color : color

border.width : int

此属性是边框属性组的一部分。边框属性组包含用于绘制多边形边框的宽度和颜色。

宽度以像素为单位,与地图的缩放级别无关。

默认值对应于1像素宽的黑色边框。对于没有线条,请使用0或透明颜色。


color : color

此属性存储用于填充多边形的颜色。

默认值为透明。


path : list<coordinate>

此属性存储定义多边形的坐标的有序列表。路径中的坐标少于3个会导致未定义行为。

另请参阅addCoordinateremoveCoordinate


referenceSurface : enum [since 6.5]

此属性确定多边形的参考表面。如果设置为QLocation::ReferenceSurface::Map,多边形的顶点将在地图上用直线连接。如果设置为QLocation::ReferenceSurface::Globe,则顶点将按照大圆路径连接,描述球面上两点之间的最短连接。默认值为QLocation::ReferenceSurface::Map

此属性是在Qt 6.5中引入的。


方法文档

void addCoordinate(coordinate)

将指定的coordinate添加到路径中。

另请参阅removeCoordinatepath


void removeCoordinate(coordinate)

从路径中删除coordinate。如果有多个相同坐标的实例,则删除最后添加的一个。

如果coordinate不在路径中,此方法不做任何操作。

另请参阅addCoordinatepath


© 2024 The Qt Company Ltd. 本文档中的文档贡献属于其各自的版权所有者。本提供的文档是在自由软件基金会发布的GNU自由文档许可证版本1.3的条款下许可的。Qt及相应标志是芬兰的The Qt Company Ltd.或全球其他地区的商标。所有其他商标均为其各自所有者的财产。