phonegap android中navigator.geolocation.getCurrentLocation的奇怪行为

Posted

技术标签:

【中文标题】phonegap android中navigator.geolocation.getCurrentLocation的奇怪行为【英文标题】:weird behavior of navigator.geolocation.getCurrentLocation in phonegap android 【发布时间】:2014-06-05 12:59:56 【问题描述】:

我正在尝试使用地理定位插件获取当前位置,我正在使用 phonegap 构建,并且还启用了调试。

每当应用程序打开时,所有代码都会正常工作并在 navigator.geolocation.getCurrentLocation 行停止。 weinre 控制台没有给我任何错误。但是当我在控制台中输入同一行时,它可以正常工作并找到位置没有任何问题。

我用简单的应用程序进行了尝试,它的行为相同,

这是我的代码

document.addEventListener("deviceready", onDeviceReady, false);
// Cordova 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: ' + position.timestamp + '<br />';

// onError Callback receives a PositionError object
//

function onError(error) 
    alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n');
 

它不会失败,它只是停止。我将 navigator.geolocation.getCurrentPosition 放在 if (navigator.geolocation) 块中,它没有给我任何错误,它只是停止。

如果你想要weinre调试链接和准系统应用的apk,我可以在这里链接。

这是应该在安卓设备上运行的apk http://s3.amazonaws.com/android.phonegap/slicehost-production/apps/947473/Anil-debug.apk

这里是 weinre 调试链接,http://debug.build.phonegap.com/client/#a9d1c370-eb2a-11e3-80a2-22000b211b97

它应该在应用程序启动后立即为您提供地理位置坐标,但它不起作用, 但是,你可以从 weinre 控制台让它工作, 只要您在控制台中运行此命令

navigator.geolocation.getCurrentPosition(onSuccess, onError);

该应用程序为您提供手机上的坐标。 如果您想详细查看所有代码,这里也是 github 链接 https://github.com/syllogismos/phonegap-gmaps

【问题讨论】:

【参考方案1】: 我没有使用 Phonegap 构建 我做了一个设置,可以正确加载所有文件Github 随意分叉

希望这有帮助,让我知道它是否有效。内置的phonegap也可能存在问题。

如果您想在 Eclipse 中试用 (Eclipse-Phonegap)

最好的

M

【讨论】:

以上是关于phonegap android中navigator.geolocation.getCurrentLocation的奇怪行为的主要内容,如果未能解决你的问题,请参考以下文章

android / phonegap性能[关闭]

IOS/android + phonegap/cordova框架中的返回键

android上phonegap项目中的Ajax请求

在 android 和 IOS 中运行 phoneGap 应用程序需要进行啥配置?

ngInclude 在 Android 的 PhoneGap 构建中失败

如何在 Phonegap 构建中恢复 Android 密钥文件?