如何在phonegap中获取当前位置?

Posted

技术标签:

【中文标题】如何在phonegap中获取当前位置?【英文标题】:how to get current location in phonegap? 【发布时间】:2014-07-29 07:21:15 【问题描述】:

我在我的应用程序中添加了地理定位插件,并使用此代码获取 phonegap 中的当前位置。但是这段代码不起作用。

    document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() 
    alert("4");
    navigator.geolocation.getCurrentPosition(onSuccess, onError);


function onSuccess(position) 
    alert("1");


function onError(error) 
    alert("3");

我的代码哪里出了问题?

谢谢你,对不起我的英语不好。

【问题讨论】:

添加更多信息,例如您遇到了什么错误?在 eclipse logcat 中查看错误。也试试这个var options = enableHighAccuracy: true ; navigator.geolocation.getCurrentPosition(onSuccess, onError, options); 警报'4'会触发吗? alert("4") 着火了。但下一行是行不通的。并且没有错误。 :'( 建议: 1. 检查地理定位是否正确安装? 2.重新启动你的手机(愚蠢的解决方案,但它有时会起作用) 3.检查你的地理权限和设置是否在设备中打开 4.使用我在评论中添加的代码进行测试 5.如果你使用的是 android,请尝试获取eclipse logcat 的错误。 谢谢我的朋友。我重置手机并使用此代码。感谢您的帮助。 :) 哈哈:欢迎我很久以前就遇到过这个问题。这有点好笑。让我给你这些建议作为答案。 【参考方案1】:

    检查地理定位是否正确安装

    重启你的手机(愚蠢的解决方案,但它有时会起作用。我遇到过一次)

    检查您的地理权限和设置是否已在设备中打开

    用这段代码测试

    options = enableHighAccuracy: true ; navigator.geolocation.getCurrentPosition(onSuccess, onError, options);

    如果您使用的是 android,请尝试使用 eclipse logcat 获取错误。

【讨论】:

【参考方案2】:

ios 上,这将始终以一种或另一种方式工作。如果插件失败,将使用浏览器自己的 Geolocation API。但是,回退有一些不良副作用:

弹出的权限对话框的标题中包含 html 文件的名称,而不是应用程序名称 授予的权限只会在应用程序运行期间持续存在

在 Android 上,只有在 app/AndroidManifest.xml 中设置了正确的权限时它才有效:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />

【讨论】:

""在 Android 上,它只有在您在 app/AndroidManifest.xml 中设置了正确的权限时才有效:"" 这有助于我确定地理定位,在我的情况下是反向地理定位问题。

以上是关于如何在phonegap中获取当前位置?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Phonegap 3.0 的 InnApp 浏览器中获取当前 url

每次应用启动时如何强制phonegap询问地理位置?

phonegap+jquery 手机获取位置

如何允许 Phonegap 使用地理位置(权限)

黑莓中的Phonegap地理定位

如何在 Phonegap 应用程序中获取点击地图的坐标?