您现在的位置是:首页 >技术杂谈 >qt quick(qml)通过arcgis导入自定义格式地图(Windows 版本)网站首页技术杂谈

qt quick(qml)通过arcgis导入自定义格式地图(Windows 版本)

qaaaaaaz 2024-06-23 18:01:02
简介qt quick(qml)通过arcgis导入自定义格式地图(Windows 版本)

参考ArcGIS Maps SDK for Qt
参考Display a map

安装

预先安装的软件

在这里插入图片描述

安装ArcGIS SDK

点击ArcGIS Maps SDK for Qt

在这里插入图片描述

注册账号

要注册成developer版本用户的,不然之后可能没办法生成API
在这里插入图片描述

下载

下载之后安装,一路next就可以了
在这里插入图片描述

在QT中创建ArcGIS项目

new project,选择cpp或者qml创建(取决于你用cpp方式修改程序还是用qml方式修改程序)
在这里插入图片描述

构建套件

选择的是
在这里插入图片描述
因为这个支持Qt 6.2以上的,如果用原来的Qt 5.15会出错;MSVC选的是2019版本的

配置环境

如果出现“xxx.lib","xxx,h"找不到的错误,多半是环境变量的原因,修改环境变量中的INCLUDE和LIB变量
在这里插入图片描述
在这里插入图片描述

运行

在这里插入图片描述
在这里插入图片描述

导入地图

设置API key

在developer dashboard复制API KEY,将来粘贴到main.cpp中
在这里插入图片描述

导入shp文件

Layers页面选择import data,把.dbf,.prj,qix,shp,shx全部打包成一个zip文件然后将ZIP文件上传,选择"shapefile"格式。导入成功之后,创建Layers。这个时候就会生成一个URL,将这个URL导入到程序中。

修改程序

包括QML版本和CPP版本的,这里以QML版本为例

添加API KEY 至main.cpp中

在这里插入图片描述

添加map
     Map {
            // add the ArcGISStreets basemap to the map
            initBasemapStyle: Enums.BasemapStyleArcGISNavigation
             initialViewpoint: viewpoint
             FeatureLayer {
                             ServiceFeatureTable {
                                 url: "xxxxxxx(导入图层之后生成的url)"
                             }
                          }
        }
     ViewpointCenter{
            id:viewpoint
            center:Point{
                x:xxx
                y:xxx
                spatialReference: SpatialReference {wkid: 4326}
            }
            targetScale: 100000.0
        }

然后运行。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。