首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用带有QT的Mapbox的Android不支持Gesoservices

使用带有QT的Mapbox的Android不支持Gesoservices
EN

Stack Overflow用户
提问于 2019-03-03 10:01:35
回答 2查看 973关注 0票数 1

我正在尝试使用QT运行一个简单的Mapbox示例。在我的mac上它是可以的,但是当这个例子在我的Android手机上运行时,我看到了一个空白的地图,如果我在map对象上调用函数errorString,我会得到以下错误消息:

不支持地理服务提供程序。

有谁可以帮我?我的Mapbox密钥是有效的,我按照他们在MapBox网站上的建议做了测试。

我使用的是QT5.12,我的LG5手机在Android8.0上。

我不明白的是什么?

EN

回答 2

Stack Overflow用户

发布于 2019-03-12 12:38:05

根据这个GitHub票,这似乎是Qt位置插件的一个问题,而不是Mapbox。快速扫描现有票以查看是否已经报告,结果为空,因此我建议这里的Qt工程团队标记它:https://bugreports.qt.io/

票数 1
EN

Stack Overflow用户

发布于 2020-01-09 10:56:40

显然,存在某种依赖解析错误,QT绑定程序没有添加几个共享库,例如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
libplugins_geoservices_qtgeoservices_mapboxgl_armeabi-v7a.so
libQt5OpenGL_armeabi-v7a.so
libQt5Sql_armeabi-v7a.so

这就是修复它的方法(在映射器QT示例中找到它)。添加到您的.pro文件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Workaround for QTBUG-38735
QT_FOR_CONFIG += location-private
qtConfig(geoservices_mapboxgl): QT += sql opengl
qtConfig(geoservices_osm): QT += concurrent

如果您使用的是CMake构建,添加Qt5 5::Sql和Qt5 5::OpenGL以及Qt5 5::Location也修复了这个问题:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
find_package(Qt5 REQUIRED Positioning Location Sql OpenGL)
target_link_libraries(${CMAKE_PROJECT_NAME} PRIVATE
        Qt5::Location
        Qt5::Positioning
        Qt5::Sql
        Qt5::OpenGL
        )
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54971977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文