0

Start Location Monitor の使用中にエラーが発生します。このエラーは Android 5 で発生します。jsonObject["coords"] not found というエラーが発生します。

4

1 に答える 1

0

私は解決策を見つけました。. . adf モバイル フレームワークを更新する か、javascript コードを使用して Location を次のように取得します。バッキング Bean で、次を使用して Javascript メソッドを呼び出します。

 AdfmfContainerUtilities.invokeContainerJavaScriptFunction(AdfmfJavaUtilities.getFeatureName(),"getLocation", new Object[] { });

また、maf-feature.xml には、前述のコンテンツを持つ Javascript ファイルを含めます。

    function getLocation() {
    if (navigator.geolocation) {
    var timeoutVal = 10 * 1000 * 1000;
        navigator.geolocation.getCurrentPosition(showPosition, displayError,
    { enableHighAccuracy: true, timeout: timeoutVal, maximumAge: 0 });
    }
    else {
        alert("error in finding location");


    }
}


function showPosition(position) {
alert( position.coords.longitude+" "+ position.coords.latitude);


adf.mf.el.setValue( {
            "name" : "#{pageFlowScope.longitude}", "value" : position.coords.longitude
        },
        onSuccess, onFail);

        adf.mf.el.setValue( {
            "name" : "#{pageFlowScope.latitude}", "value" : position.coords.latitude
        },
        onSuccess, onFail);   
}


function onSuccess(request, response) {
    alert(response);
}


function onFail(request, response) {
    alert(response);
}


function displayError(error) {
  var errors = {
    1: 'Permission denied',
    2: 'Position unavailable',
    3: 'Request timeout'
  };
  alert("Error: " + errors[error.code]);
}
于 2015-11-01T13:11:41.650 に答える