参考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 mapinitBasemapStyle: Enums.BasemapStyleArcGISNavigationinitialViewpoint: viewpointFeatureLayer {ServiceFeatureTable {url: "xxxxxxx(导入图层之后生成的url)"}}}ViewpointCenter{id:viewpointcenter:Point{x:xxxy:xxxspatialReference: SpatialReference {wkid: 4326}}targetScale: 100000.0}
然后运行。