【问题标题】:BlackBerry Cascades 10 Maps example keeps showing black screenBlackBerry Cascades 10 Maps 示例一直显示黑屏
【发布时间】: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?

标签: blackberry-10 blackberry-cascades


【解决方案1】:

正如@Hithredin 上面在评论中提到的那样,为了拥有地图功能,您需要确保在.pro 文件中为链接器指定了所有要链接的库:

LIBS += -lbbplatform -lbbcascadesmaps -lGLESv1_CM

如果您使用地理定位(在您使用地图时经常发生这种情况),您需要在 bar-descriptor.xml 文件中拥有以下权限集:

<permission>read_geolocation</permission>
<permission>access_location_services</permission>

有关 Blackberry 开发网站上的地图和位置的更多信息:

【讨论】:

    【解决方案2】:

    确保包含

    #include <bb/cascades/maps/MapView>
    

    在您的 ApplicationUI.hpp 或 ApplicationUI.cpp 中。

    【讨论】:

    • 他可能有这个,否则他将无法将类公开给 QML。
    • @bojan 不。如果他只使用 qml 编辑器,Momentics 不会返回任何关于#include 的错误,因为在 qml 页面顶部他已经导入了 bb.cascades.maps
    • 首先在c++中你不需要它,所以你不需要包含它。而且您不需要自己将其公开给 QML。此外,如果您忘记包含某些内容,它总是会抛出错误
    • 当然,如果你只使用 qml。
    猜你喜欢
    • 1970-01-01
    • 2019-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-11
    • 2012-01-15
    • 2020-09-18
    • 1970-01-01
    相关资源
    最近更新 更多