Start Location Monitor の使用中にエラーが発生します。このエラーは Android 5 で発生します。jsonObject["coords"] not found というエラーが発生します。
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 に答える