MapCircle QML Type
MapCircle 类型会在地图上显示一个地理圆。更多内容...
| Import Statement: | import QtLocation 6.12 |
| 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 是一个多边形。它采用地球球体模型来计算半径点,这与geoCoordinate 的 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 group
该属性属于“border”分组属性的一部分。“border”属性用于指定绘制圆圈边框时使用的宽度和颜色。宽度以像素为单位,且与地图的缩放级别无关。
默认值对应宽度为 1 像素的黑色边框。若不显示边框,请将宽度设为 0 或使用透明颜色。
center : coordinate
该属性表示定义该圆的中心点。
另请参阅 radius 。
color : color
该属性用于指定绘制圆时圆的填充颜色。若不进行填充,请使用透明颜色。
opacity : real
该属性用于指定项的不透明度。不透明度以0(完全透明)到1(完全不透明)之间的数值表示。默认值为1。
不透明度为 0 的项目仍会接收鼠标事件。若要阻止鼠标事件,请将该项目的 visible 属性设置为 false。
radius : real
该属性存储圆的半径,单位为地面上的米。
另请参阅 center 。
referenceSurface : enum [since 6.5]
该属性确定圆的参考表面。如果将其设置为QLocation::ReferenceSurface::Map ,则圆将在地图上以圆弧形式绘制,其中radius 将经过近似处理,以匹配圆心处的地图比例尺。如果将其设置为QLocation::ReferenceSurface::Globe ,则圆将被映射到球体上,并使用大圆路径来确定圆的覆盖范围。默认值为QLocation::ReferenceSurface::Map 。
该属性在 Qt 6.5 中引入。
© 2026 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.