2021-07-04 Qt Location开发系列教程 (四)

本文档详细介绍了如何使用QtLocation在地图上添加图片和文字。通过MapQuickItem组件,可以将QtQuick的图像和文本元素固定在地图上的特定位置,并使它们随地图的移动和缩放保持相对位置不变。文中提供了示例代码,展示了如何创建一个Esri地图,添加图片标记和文字标注,并调整其旋转角度和颜色。此外,还强调了anchorPoint的调整和zoomLevel的设置对于元素在地图上的显示效果的重要性。

系列文章目录

Qt Location开发系列教程 (三)
Qt Location开发系列教程 (二)
Qt Location开发系列教程 (一)


前言

  • 在地图中添加一个图标,图片,且可以跟随地图一起移动,放大和缩小
  • 在地图中添加片定义的文字,且可以跟随地图一起移动,放大和缩小

实现方法

Map{} 有一个支持添加quickitem的类型: MapQuickItem QML Type
用它就可以添加做生意quick控件到map中
MapQuickItem 类型用于在地图上以指定的位置和大小放置任意 Qt Quick 对象。与在地图上方浮动项目相比,MapQuickItem 将跟随地图的平移(以及可选的缩放),就好像它在地图表面上一样。
该sourceItem属性包含要绘制的Qt Quick的项目,它可以是任何类型的可见式的。

一、添加图片

先建议一个 esri 地图

import QtQuick 2.15
import QtQuick.Window 2.15
import QtLocation 5.6
import QtPositioning 5.6

Window {
   
   
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello World")
    Map {
   
   
        id:map
        //覆盖parent,采用依靠在bottom,自己去关联map大小
        width: parent.width
        height: parent.height
        anchors.bottom:parent.bottom

        plugin: Plugin {
   
    name: "esri" }
        center: QtPositioning.coordinate(34.23,108.87) // xi`an
        zoomLevel: 14

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

        Component.onCompleted: {
   
   
            for(let i = 0;i < supportedMapTypes.length;i++)
            {
   
   
                console.log(supportedMapTypes[i].name)
                if(supportedMapTypes[i].name === "World Imagery")
                {
   
   
                    activeMapType = supportedMapTypes[i];
                    break
                }
            }
            console.
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值