如何在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中获取当前位置?的主要内容,如果未能解决你的问题,请参考以下文章