MapQuickItem QML 类型
MapQuickItem 类型用于在地图上显示任意 Qt Quick 对象。 更多...
导入声明 | import QtLocation 6.7 |
自 | QtLocation 5.5 |
- 所有成员列表,包括继承成员
- MapQuickItem 是 QML Maps 插件的一部分。QML Maps 插件.
属性
- anchorPoint : QPointF
- autoFadeIn : bool
- coordinate : coordinate
- sourceItem : object
- zoomLevel : real
详细描述
MapQuickItem 类型用于在一个指定位置和大小的地图上放置任意 Qt Quick 对象。与在地图上悬浮对象相比,MapQuickItem 会随地图的平移(和可选的缩放)而移动,就像它在地图表面一样。
sourceItem 属性包含了要绘制的 Qt Quick 对象,可以是任何可视类型。
定位和尺寸
MapQuickItem 在地图上的定位由两个属性控制:coordinate 和 anchorPoint。如果只设置了 coordinate,则指定了放置对象的经纬度坐标。设置的坐标将在屏幕上显示时与包含对象的左上角对齐。
anchorPoint 属性提供了一种方法,通过设置像素偏移量,将坐标与其他对象部分对齐,而不是只与左上角对齐。简单来说,可以将 anchorPoint 在对象本身上给定的点视为显示时与给定 coordinate 对齐的点。
除了可以锚定到地图上,MapQuickItem 还可以选择跟踪地图的比例,并在地图放大或缩小时光标变化大小。这种行为由 zoomLevel 属性控制。如果未设置 zoomLevel,则默认行为是在“屏幕上”而不是“地图上”绘制项,使其尺寸不受地图缩放级别的影响。
性能
MapQuickItem 的性能通常与单独的 Qt Quick 项相当。增加的开销包括原始项的转换(可能还包括缩放)以及从经纬度到屏幕位置的转换。
限制
注意:由于实现细节,放置在 MapQuickItem 中的项将具有一个不是 MapQuickItem 的 parent
项。请通过其 id
来引用 MapQuickItem,并避免在 sourceItem
中使用 anchor
。
使用示例
以下代码片段显示了一个包含 Image 对象的 MapQuickItem,用于在地图上显示标记。此策略用于显示 MapViewer 示例中的地图标记。
MapQuickItem { id: marker anchorPoint.x: image.width/4 anchorPoint.y: image.height HoverHandler { id: hoverHandler } TapHandler { id: tapHandler acceptedButtons: Qt.RightButton gesturePolicy: TapHandler.WithinBounds onTapped: { mapview.currentMarker = -1 for (var i = 0; i< mapview.markers.length; i++){ if (marker == mapview.markers[i]){ mapview.currentMarker = i break } } mapview.showMarkerMenu(marker.coordinate) } } DragHandler { id: dragHandler grabPermissions: PointerHandler.CanTakeOverFromItems | PointerHandler.CanTakeOverFromHandlersOfDifferentType } sourceItem: Image { id: image } }
属性文档
anchorPoint : QPointF |
此属性确定在 sourceItem 上哪个点将与地图上的坐标对齐。
autoFadeIn : bool |
该属性表示,当从非常低的缩放级别开始放大地图时,项是否自动淡入。默认情况下为 true
。将此属性设置为 false
将使地图项始终具有用 QtQuick::Item::opacity 属性指定的不透明度,默认值为 1.0。
coordinate : coordinate |
此属性持有 MapQuickItem 的锚点坐标。在地图上绘制时,由 anchorPoint 指定的 sourceItem 上的点与该坐标保持对齐。
在下面的图像中,有 3 个 MapQuickItem,除了它们的 anchorPoint 属性值不同。每个 anchorPoint 的值都写在项的上方。
sourceItem : object |
此属性持有将在地图上绘制的源项。
zoomLevel : real |
此属性控制 MapQuickItem 内容的缩放行为。特别是,通过设置此属性,可以选择在屏幕上绘制的对象(以屏幕像素为单位确定大小)和在地图表面上绘制的对象(大小随地图缩放级别而变化)。
此属性的默认值为0.0,表示在该屏幕表面上绘制对象。如果将其设置为其他值,则对象将在地图表面上绘制。该值(如果不为零)指定在1:1比例(即对象像素与屏幕像素相同)下对象可见的缩放级别。在比此级别低的缩放级别下,对象将显得更小,而在更高的缩放级别下,对象将显得更大。这与将此属性设置为0的情况形成对比,此时对象在所有缩放级别上在屏幕上都将保持相同的尺寸。
© 2024 The Qt Company Ltd. 本文档中包含的贡献的版权归各自的所有者。本提供的文档是根据自由软件基金会发布的GNU自由文档许可协议版本1.3授予权利的。Qt及其相关徽标是芬兰及全球其他国家和地区The Qt Company Ltd.的商标。所有其他商标均为其各自所有者的财产。