我有 Symbian/MeeGo 项目,它使用 qt-mobility 来获取用户的位置。问题是下面的代码在 Meego (Nokia N9) 上运行良好,而在 Symbian 上根本不起作用(在 C6-01 和 N8 上测试)。看起来 GPS 适配器启动良好,但无法接收任何位置信息。所以我们可以在系统时钟附近看到“卫星”图标,但没有接收到坐标。我在不同的条件下(建筑物内部/外部,不同的天气条件)进行了测试,结果始终相同。
这种行为的原因是什么?
我的代码:
.pro
<...>
CONFIG += mobility
MOBILITY += location
symbian:TARGET.CAPABILITY += NetworkServices Location
<...>
。H
<...>
#include <QGeoPositionInfoSource>
#include <QGeoPositionInfo>
#include <QDebug>
<...>
QTM_USE_NAMESPACE
private:
QGeoPositionInfoSource* mManager;
private slots:
void newPos(QGeoPositionInfo);
<...>
.cpp
<...>
mManager = QGeoPositionInfoSource::createDefaultSource(this);
mManager->setUpdateInterval(1000);
mManager->setPreferredPositioningMethods(QGeoPositionInfoSource::AllPositioningMethods);
connect(mManager, SIGNAL(positionUpdated(QGeoPositionInfo)),
this, SLOT(newPosition(QGeoPositionInfo)));
<...>
void QmlContext::newPosition(QGeoPositionInfo pos){
qDebug() << pos;
}
<...>