mbgl-qt学习

cmake构建完成后运行mbgl-qt加不上地图,只显示窗体,报下面错误:

loading style failed: HTTP status code 401" 

原因:在线的mapbox需要token

解决方法:设置环境变量

export MAPBOX_ACCESS_TOKEN=“pk.eyJ1IjoibGl4aWFuZ3NoZW5nIiwiYSI6ImNqcW8xY2tpdTduZ2Q0M2xnOHlrNXpxd2wifQ.-LcC6OOUFMRb_7IFywDDJw”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Qt中加载离线地图,可以使用第三方,例如Mapbox,OSM(OpenStreetMap)等。以下是一个简单的实现步骤: 1. 首先需要下载地图切片(tiles)。对于OSM地图,可以从OpenStreetMap官网下载。对于Mapbox地图,可以在Mapbox官网上注册并创建一个地图,并在地图编辑器中获取地图ID和访问令牌(access token)。 2. 在Qt项目中添加地图的头文件和文件。例如,对于Mapbox,可以添加以下代码: ``` #include <mbgl/map/map.hpp> ``` 3. 在Qt应用程序中创建一个QWidget对象作为地图窗口,并在其中创建一个QOpenGLWidget对象,用于渲染地图。例如: ``` QWidget *mapWindow = new QWidget(this); QOpenGLWidget *glWidget = new QOpenGLWidget(mapWindow); glWidget->setGeometry(0, 0, mapWidth, mapHeight); ``` 4. 使用Mapbox地图的API创建一个地图对象,并将其链接到QOpenGLWidget对象。例如: ``` mapbox::MapboxOptions options; options.accessToken = "your_access_token"; options.cacheFile = "path_to_cache_file"; options.pixelRatio = glWidget->devicePixelRatio(); mbgl::Map map(*glWidget, options); ``` 5. 使用Mapbox地图的API设置地图样式,例如: ``` map.setStyleURL("mapbox://styles/mapbox/streets-v11"); ``` 6. 在Qt应用程序中使用Mapbox地图的API添加地图标记、线条等其他元素。 需要注意的是,地图的具体实现和使用可能因应用程序的需求而异。例如,对于OSM地图,可能需要使用其他或工具来加载地图切片。另外,需要确保下载的地图切片和访问令牌等信息的合法性和安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值