Necessitas の QWebView ポートで表示された HTML5 Web ページで GPS 座標を取得しようとしています。ただし、常にサポートされていませんと応答します。
function load( )
{
if ( navigator.geolocation )
{
alert( "Supported." );
}
else
{
alert( "Not Supported!" );
}
}
アクセス許可を許可するように QWebPage を変更しました。
BrowserWebPage::BrowserWebPage( QObject* parent ) : QWebPage( parent )
{
connect( this,
SIGNAL( featurePermissionRequested( QWebFrame*, QWebPage::Feature ) ),
SLOT( permissionRequested( QWebFrame*, QWebPage::Feature ) ) );
}
void BrowserWebPage::permissionRequested( QWebFrame* frame, QWebPage::Feature feature )
{
if ( feature == Geolocation )
{
setFeaturePermission( frame, feature, PermissionGrantedByUser );
}
else //denied
{
setFeaturePermission( frame, feature, PermissionDeniedByUser );
}
}
そして、次の権限を設定します。
android.permission.INTERNET
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_COARSE_LOCATION
編集
このページによると、GeoLocation API は QtWebKit ビルド内に存在します。
http://trac.webkit.org/wiki/QtWebKitFeatures22
詳細
電話: ギャラクシー ネクサス
プラットフォーム: Android 4.1.1 (SDK 14)
フレームワーク: Qt 4.8.0 for Android armv7a