我有一个基本的Android应用程序,可链接到一些外部网页。我已经在这些页面上放置了phonegap.js,我正试图获取GPS信息,但没有得到任何东西。基本上,应用程序设置为使用webview加载外部页面。外部页面只有来自phonegap网站的示例代码,但我没有获得任何GPS信息。如果js和html页面都在外部服务器上,我怎样才能进入phonegap API?
<!DOCTYPE html>
<html>
<head>
<title>Device Properties Example</title>
<script type="text/javascript" charset="utf-8" src="phonegap-1.1.0.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for PhoneGap to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap is ready
//
function onDeviceReady() {
navigator.geolocation.getCurrentPosition(onSuccess, onError);
}
// onSuccess Geolocation
//
function onSuccess(position) {
var element = document.getElementById('geolocation');
element.innerHTML = 'Latitude: ' + position.coords.latitude + '<br />' +
'Longitude: ' + position.coords.longitude + '<br />' +
'Altitude: ' + position.coords.altitude + '<br />' +
'Accuracy: ' + position.coords.accuracy + '<br />' +
'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '<br />' +
'Heading: ' + position.coords.heading + '<br />' +
'Speed: ' + position.coords.speed + '<br />' +
'Timestamp: ' + new Date(position.timestamp) + '<br />';
}
// onError Callback receives a PositionError object
function onError(error) {
alert("error");
}
</script>
</head>
<body>
<p id="geolocation">Finding my geolocation...</p>
</body>
</html>
答案 0 :(得分:0)
HTML / JS是在外部服务器上还是嵌入在应用程序中并不重要。在这两种情况下,JS代码都将在设备上的Mobile浏览器中执行。 请解释你得到的确切错误。
确保您的原生应用具有访问位置的权限: uses-permission android:name =“android.permission.ACCESS_COARSE_LOCATION” uses-permission android:name =“android.permission.ACCESS_FINE_LOCATION”
如果您正在尝试Android模拟器,请参阅以下Android怪癖:
Android Quirks: 除非enableHighAccuracy选项设置为true,否则Android 2.x模拟器不会返回地理定位结果。
{enableHighAccuracy:true}