2011-10-12 81 views
2

我有一个基本的Android应用程序,链接到几个外部网页。我已经在这些网页上放置了phonegap.js,并试图获取GPS信息,但没有得到任何东西。基本上,该应用程序设置为使用web视图来加载外部页面。外部网页只有手机网站的示例代码,但我没有收到任何GPS信息。如果js和html页面都在外部服务器上,我怎么才能到phonegap API?从外部页面呼叫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

粘贴您的Home.java以及.. – ghostCoder

回答

0

无论HTML/JS是在外部服务器还是在应用程序中嵌入。在这两种情况下,JS代码都将在设备上的Mobile浏览器中执行。 请解释您所得到的确切错误。

确保您的本机应用程序必须访问的位置权限: 使用许可权的android:NAME = “android.permission.ACCESS_COARSE_LOCATION” 使用许可权的android:NAME = “android.permission.ACCESS_FINE_LOCATION”

如果您正在尝试使用Android模拟器,请参考以下安卓模拟器:

Android Quirks: 除非enableHighAccuracy选项设置为true,否则Android 2.x模拟器不会返回地理定位结果。

{enableHighAccuracy:true}