MapPolygon QML Type

MapPolygon 类型可在地图上显示多边形。更多

Import Statement: import QtLocation 6.9
Since: QtLocation 5.5

属性

方法

详细说明

MapPolygon 类型在地图上显示一个多边形,该多边形由coordinates 的有序列表指定。为获得最佳外观和效果,多边形应简单(非自相交)。

路径上的coordinates 添加到多边形后不能直接更改。相反,可以将path 复制到一个变量中,修改副本并将副本重新分配回path

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

也可以使用addCoordinateremoveCoordinate 方法随时添加和删除坐标。

对于绘制边缘 "平直 "的矩形(一条边的纬度相同,另一条边的纬度相同),MapRectangle 类型提供了更简单的两点 API。

默认情况下,多边形显示为无填充的 1 像素黑色边框。要更改其外观,请使用colorborder.colorborder.width 属性。

注: 由于地图多边形是地理项,拖动地图多边形(通过使用MouseAreaPointHandler )会导致其顶点在地理坐标空间中重新计算。边缘保留相同的地理长度(顶点之间的经纬度差),但仍保持直线。当拖动到不同的纬度时,项目会发生明显的拉伸。

使用示例

下面的代码段显示了 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 group

border.color : color

border.width : int

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

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

默认值对应宽度为 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


© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.