【发布时间】:2018-11-05 07:06:03
【问题描述】:
我正在 ibm mobile first 平台上开发一个移动应用程序。我使用的是 7.0 版。我正在尝试获取Android设备的位置信息,但是虽然我尝试了几种方法,但我没有得到位置信息。 我在 android 清单文件中的权限是正确且完整的。我的代码和我在下面得到的 logcat 错误。谢谢。
我的代码:
var showPosition = function(position) {
WL.Logger.debug("got a position");
var latitude = Number(position.coords.latitude).toFixed(2);
var longitude = Number(position.coords.longitude).toFixed(2);
alert('<b>Longitude:</b> ' + position.coords.longitude + '<b>Latitude:</b> ' + position.coords.latitude);
//$("#currentLocation").text(latitude + " / " + longitude);
};
var positionError = function(err) {
WL.Logger.debug("failed to get a position");
$("#status").text("position error" + err);
};
WL.Device.Geo.acquirePosition(showPosition, positionError, {
timeout : 30000,
enableHighAccuracy: true,
maximumAge:15000
});
Logcat 错误:
V/GpsLocationProvider( 918): reportStatus status: 3
V/GpsLocationProvider( 918): reportStatus status: 1
I/System.out( 3766): IntentService[CrashUploaderService] calls detatch()
I/com.dropbox.android.exception.d( 3766): Error uploading log:
I/com.dropbox.android.exception.d( 3766): dbxyzptlk.db240408.I.h:
javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
I/com.dropbox.android.exception.d( 3766): at
dbxyzptlk.db240408.H.y.a(panda.py:424)
I/com.dropbox.android.exception.d( 3766): at
dbxyzptlk.db240408.H.y.a(panda.py:346)
I/com.dropbox.android.exception.d( 3766): at
dbxyzptlk.db240408.L.K.a(panda.py:472)
I/com.dropbox.android.exception.d( 3766): at
com.dropbox.android.exception.d.a(panda.py:129)
I/com.dropbox.android.exception.d( 3766): at
com.dropbox.android.exception.d.a(panda.py:52)
I/com.dropbox.android.exception.d( 3766): at
com.dropbox.android.exception.CrashUploaderService.onHandleIntent
(panda.py:33)
I/com.dropbox.android.exception.d( 3766): at
android.app.IntentService$ServiceHandler.handleMessage
(IntentService.java:65)
I/com.dropbox.android.exception.d( 3766): at
android.os.Handler.dispatchMessage(Handler.java:102)
I/com.dropbox.android.exception.d( 3766): at
android.os.Looper.loop(Looper.java:145)
I/com.dropbox.android.exception.d( 3766): at
android.os.HandlerThread.run(HandlerThread.java:61)
I/com.dropbox.android.exception.d( 3766): Caused by:
javax.net.ssl.SSLPeerUnverifiedException: No peer certificate
I/com.dropbox.android.exception.d( 3766): at
com.android.org.conscrypt.SSLNullSession.getPeerCertificates
(SSLNullSession.java:104)
I/com.dropbox.android.exception.d( 3766): at
org.apache.http.conn.ssl.AbstractVerifier.verify (AbstractVerifier.java:93)
I/com.dropbox.android.exception.d( 3766): at
dbxyzptlk.db240408.L.Q.createSocket(panda.py:173)
I/com.dropbox.android.exception.d( 3766): at
org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection
(DefaultClientConnectionOperator.java:214)
I/com.dropbox.android.exception.d( 3766): at
org.apache.http.impl.conn.AbstractPoolEntry.open
(AbstractPoolEntry.java:167)
I/com.dropbox.android.exception.d( 3766): at
org.apache.http.impl.conn.AbstractPooledConnAdapter.open
(AbstractPooledConnAdapter.java:125)
I/com.dropbox.android.exception.d( 3766): at
org.apache.http.impl.client.DefaultRequestDirector.executeOriginal
(DefaultRequestDirector.java:1312)
I/com.dropbox.android.exception.d( 3766): at
org.apache.http.impl.client.DefaultRequestDirector.execute
(DefaultRequestDirector.java:702)
I/com.dropbox.android.exception.d( 3766): at
org.apache.http.impl.client.AbstractHttpClient.execute
(AbstractHttpClient.java:694)
I/com.dropbox.android.exception.d( 3766): at
org.apache.http.impl.client.AbstractHttpClient.execute
(AbstractHttpClient.java:516)
I/com.dropbox.android.exception.d( 3766): at
org.apache.http.impl.client.AbstractHttpClient.execute
(AbstractHttpClient.java:494)
I/com.dropbox.android.exception.d( 3766): at
dbxyzptlk.db240408.H.y.a(panda.py:394)
I/com.dropbox.android.exception.d( 3766): ... 9 more
【问题讨论】:
-
如果您转到设置 -> 应用程序 -> -> 权限并启用位置权限(如果还没有的话)怎么办?此外,如果您在建筑物外尝试应用程序会怎样 - 假设这是获取地理坐标的问题。
-
感谢您的回复。我的设备有此应用程序的位置权限。我目前的环境中也有 GPS 信号。
-
先生。正如你所说,Vivin 在我离开大楼时能够获得位置信息。感谢您的帮助。
-
尝试更改定位模式,例如高精度、省电和仅设备,您可能会在建筑物内获得位置
标签: jquery geolocation location ibm-mobilefirst