BlackBerry Cascades 10 Maps 示例一直显示黑屏
Posted
技术标签:
【中文标题】BlackBerry Cascades 10 Maps 示例一直显示黑屏【英文标题】:BlackBerry Cascades 10 Maps example keeps showing black screen 【发布时间】:2013-03-11 14:02:25 【问题描述】:我正在尝试运行地图示例 Qml,但是我的 MapView 一直加载为黑色。我检查了控制台输出并发现了这一点。
slogger2 buffer handle not initialized. ../../lgmon_api.c, logEvent(), around line 578!
cpp:: Created document
cpp:: properties set
MapViewPrivate::removeRenderEngine
using the following render engine: bb::cascades::maps::BlankRenderEngine
MapViewPrivate::removeRenderEngine
removing the old render engine: bb::cascades::maps::BlankRenderEngine
RenderEngineManager::RenderEngineManager
RenderEngineManager::scanForPlugins()
render engine search: searching QDir( "/apps/com.example.GConnectBB.testDev__GConnectBB7836cab4/native/mapview-renderengine" , nameFilters = * , QDir::SortFlags( Name | IgnoreCase ) , QDir::Filters( Dirs|Files|Drives|AllEntries ) )
render engine search: searching QDir( "/base/usr/lib/qt4/plugins/mapview-renderengine" , nameFilters = * , QDir::SortFlags( Name | IgnoreCase ) , QDir::Filters( Dirs|Files|Drives|AllEntries ) )
render engine search: attempting to load "/base/usr/lib/qt4/plugins/mapview-renderengine/libRenderEngine3d.so"
unknown symbol: _ZTIN2bb8platform3geo11GeoLocationE
unknown symbol: _ZTIN2bb8platform3geo11GeoLocationE
unknown symbol: _ZNK2bb8platform3geo11GeoLocation10metaObjectEv
unknown symbol: _ZN2bb8platform3geo11GeoLocation11qt_metacastEPKc
unknown symbol: _ZN2bb8platform3geo11GeoLocation11qt_metacallEN11QMetaObject4CallEiPPv
unknown symbol: _ZNK2bb8platform3geo11GeoLocation11boundingBoxEv
unknown symbol: _ZTIN2bb8cascades4maps17BlankRenderEngineE
unknown symbol: _ZN2bb8cascades4maps17BlankRenderEngine16staticMetaObjectE
unknown symbol: _ZTIN2bb8platform3geo10GeographicE
RenderEngineManager::engine( <ViewProperties altitude=0, heading=0, lat=43.4682, lon=-80.5196, tilt=0, window=QSize(0, 0) > )
using the following render engine: bb::cascades::maps::BlankRenderEngine
所以看起来它没有为我的地图加载合适的渲染引擎。我尝试使用黑莓操作系统更新更新我的 SDK 并更新手机上的操作系统,但无济于事。
这是我的地图的完整 Qml:
import bb.cascades 1.0
import bb.cascades.maps 1.0
Page
Container
layout: StackLayout
MapView
id: mapview
latitude: 43.468245
longitude: -80.519603
altitude: 10000
更多详情: 操作系统版本:10.9.10.35 原生 SDK:10.0.9.1673 Momentics 版本:10.0.9
我也尝试了另一个 SDK 版本,10.0.10.xxx,它也没有工作。
【问题讨论】:
尝试检查描述符中的所有权限。您是否在 .PRI ( -lbbcascadesmaps -lQtLocationSubset ) 中添加了所有库? 谢谢!那行得通,但是也需要包含 gl 行。不知道我是怎么错过的。无论如何,您能否将其表达为答案,以便我可以接受@Hithredin? 【参考方案1】:正如@Hithredin 上面在评论中提到的那样,为了拥有地图功能,您需要确保在.pro
文件中为链接器指定了所有要链接的库:
LIBS += -lbbplatform -lbbcascadesmaps -lGLESv1_CM
如果您使用地理定位(在您使用地图时经常发生这种情况),您需要在 bar-descriptor.xml
文件中拥有以下权限集:
<permission>read_geolocation</permission>
<permission>access_location_services</permission>
有关 Blackberry 开发网站上的地图和位置的更多信息:
Location documentation Maps documentation【讨论】:
【参考方案2】:确保包含
#include <bb/cascades/maps/MapView>
在您的 ApplicationUI.hpp 或 ApplicationUI.cpp 中。
【讨论】:
他可能有这个,否则他将无法将类公开给 QML。 @bojan 不。如果他只使用 qml 编辑器,Momentics 不会返回任何关于#include 的错误,因为在 qml 页面顶部他已经导入了 bb.cascades.maps 首先在c++中你不需要它,所以你不需要包含它。而且您不需要自己将其公开给 QML。此外,如果您忘记包含某些内容,它总是会抛出错误 当然,如果你只使用 qml。以上是关于BlackBerry Cascades 10 Maps 示例一直显示黑屏的主要内容,如果未能解决你的问题,请参考以下文章
BlackBerry Cascades 10 Maps 示例一直显示黑屏
BlackBerry Cascades:如何将数据加载到 ListView
如何在 Cascades、Blackberry 10 中使用 Qt/QML/C++ 从另一个 qml 文件中更改一个 qml 文件中的标签文本?
Blackberry Cascades 上下文菜单从按钮单击