Qt 地理位置项目叠加插件

概览

此地理信息服务插件是一个特殊插件,仅提供空地图。该插件不提供任何服务,适用于只需要显示添加的地图项目的场景。

可以使用插件键 "itemsoverlay" 加载 Items Overlay 地理信息服务插件。

示例用法

以下代码段显示如何将使用此插件的 Map 添加为叠加显示,以显示抗锯齿的地图项目。注意,为了使此类叠加的 Map 透明,还必须将它的颜色设置为透明色,例如示例中的 透明

Window {
    id: win
    visible: true
    width: 640
    height: 640

    Map {
        id: mapBase
        gesture.enabled: true
        anchors.fill: parent
        plugin: Plugin { name: "osm" }
        center: QtPositioning.coordinate(45,10)
        zoomLevel: 4
        z: parent.z + 1
    }

    Map {
        id: mapOverlay
        anchors.fill: parent
        plugin: Plugin { name: "itemsoverlay" }
        gesture.enabled: false
        center: mapBase.center
        color: 'transparent' // Necessary to make this map transparent
        minimumFieldOfView: mapBase.minimumFieldOfView
        maximumFieldOfView: mapBase.maximumFieldOfView
        minimumTilt: mapBase.minimumTilt
        maximumTilt: mapBase.maximumTilt
        minimumZoomLevel: mapBase.minimumZoomLevel
        maximumZoomLevel: mapBase.maximumZoomLevel
        zoomLevel: mapBase.zoomLevel
        tilt: mapBase.tilt;
        bearing: mapBase.bearing
        fieldOfView: mapBase.fieldOfView
        z: mapBase.z + 1

        MapCircle {
            id: circle
            center: QtPositioning.coordinate(44, 10)
            radius: 200000
            border.width: 5

            MouseArea {
                anchors.fill: parent
                drag.target: parent
            }
        }

        // The code below enables SSAA
        layer.enabled: true
        layer.smooth: true
        property int w : mapOverlay.width
        property int h : mapOverlay.height
        property int pr: Screen.devicePixelRatio
        layer.textureSize: Qt.size(w  * 2 * pr, h * 2 * pr)
    }
}

© 2024 The Qt Company Ltd。此处包含的文档贡献属于各自的著作权人。提供的文档根据自由软件基金会发布的 GNU 自由文档许可协议版本 1.3 的条款获得许可。Qt 及其相关标志是 The Qt Company Ltd. 在芬兰和其他世界各地的商标。所有其他商标均为其各自权利人的财产。