MapCircle QML Type
MapCircle 类型可在地图上显示一个地理圆。更多
Import Statement: | import QtLocation 6.9 |
Since: | QtLocation 5.5 |
- 所有成员(包括继承成员)列表
- MapCircle 是QML 地图插件的一部分。
属性
- autoFadeIn : bool
- border
- border.color : color
- border.width : int
- center : coordinate
- color : color
- opacity : real
- radius : real
- referenceSurface : enum
(since 6.5)
详细说明
MapCircle 类型在地图上显示一个地理圆,该地理圆由距离一个中心点在设定距离内的所有点组成。根据地图投影的不同,地理圆在屏幕上不一定总是一个完美的圆:例如,在墨卡托投影中,圆在靠近两极时会变成卵形。要在屏幕上显示点周围的完美圆,请使用包含相关Qt Quick 类型的MapQuickItem 。
默认情况下,圆显示为无填充的 1 像素黑色边框。要更改其外观,请使用color 、border.color 和border.width 属性。
在内部,MapCircle 是作为多边多边形实现的。为了计算半径点,它使用了地球的球面模型,类似于coordinate 类型的atDistanceAndAzimuth 方法。根据位置和地图投影的不同,这两点偶尔会对圆的形状精度产生影响。
注: 拖动 MapCircle(通过使用MouseArea 或PointHandler )会导致在与中心相同的距离(以米为单位)上生成新的点。这与其他地图项不同,后者以顶点之间的经纬度差来存储尺寸。
使用示例
下面的代码段显示了一张包含 MapCircle 的地图,该地图以坐标 (-27, 153) 为中心,半径为 5 公里。该圆填充为绿色,边框为 3 像素的黑色。
Map { MapCircle { center { latitude: -27.5 longitude: 153.0 } radius: 5000.0 color: 'green' border.width: 3 } }
属性文档
autoFadeIn : bool |
该属性用于设置从极低缩放级别开始放大地图时,项目是否会自动淡入。默认为true
。将此属性设置为false
会使地图项目始终具有QtQuick::Item::opacity 属性指定的不透明度,默认为 1.0。
该属性是边框组属性的一部分。border 属性包含用于绘制圆边框的宽度和颜色。宽度以像素为单位,与地图缩放级别无关。
默认值对应宽度为 1 像素的黑色边框。如果没有线,则使用 0 宽度或透明色。
center : coordinate |
该属性用于保存定义圆的中心点。
另请参阅 radius 。
color : color |
该属性用于保存绘制圆时的填充颜色。如果没有填充,则使用透明色。
opacity : real |
该属性用于设置项的不透明度。不透明度指定为介于 0(完全透明)和 1(完全不透明)之间的数字。默认值为 1。
不透明度为 0 的项目仍会接收鼠标事件。要停止鼠标事件,可将项目的可见属性设置为 false。
referenceSurface : enum |
该属性决定了圆的参考面。如果将其设置为QLocation::ReferenceSurface::Map ,则会在地图上将圆画成一个圆圈,radius ,以近似匹配圆心处的地图比例尺。如果设置为QLocation::ReferenceSurface::Globe ,则将圆映射到球面上,并使用大圆路径确定圆的覆盖范围。默认值为QLocation::ReferenceSurface::Map 。
此属性在 Qt 6.5 中引入。
© 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.