在 android 中无法长时间使用 IndoorAtlas sdk
Can't get lat long using IndoorAtlas sdk in android
我的代码如下,控制无法到达 onLocationChanged 方法,我使用的是物理设备而不是模拟器。请多多指教,谢谢
private IALocationListener locationListener = new IALocationListener() {
@Override
public void onLocationChanged(IALocation location) {
Log.d(TAG, "Latitude: " + location.getLatitude());
Log.d(TAG, "Longitude: " + location.getLongitude());
}
控件在 onStatusChanged 到达但未在 onLocationChanged
@Override
public void onStatusChanged(String s, int i, Bundle bundle) {
Log.d("onStatus","0");
}
};
恢复
@Override
protected void onResume() {
super.onResume();
locationManager.requestLocationUpdates(IALocationRequest.create(),locationListener);
}
暂停
@Override
protected void onPause() {
super.onPause();
locationManager.removeLocationUpdates(locationListener);
}
onDestroy
@Override
protected void onDestroy() {
locationManager.destroy();
super.onDestroy();
}
有几件事可能是原因:
- 您要测试的地点需要按照以下所述进行映射:http://docs.indooratlas.com/app/
- 映射后,需要按照上述文档中的步骤 3 中的描述生成云端 "magnetic map"
- 您需要 Android 设备至少具有 Wifi,但最好还有加速度计、陀螺仪和磁力计
- 您的设备需要启用 Wifi 扫描,因此请在您的设备上启用定位服务
- 您已按照以下所述设置 IndoorAtlas SDK:http://docs.indooratlas.com/android/getting-started.html
要开始进行故障排除,请打印出状态回调的参数:
public void onStatusChanged(String s, int i, Bundle bundle) {
Log.d(LOG_TAG, "onStatusChanged, code: " + i + ", args: " + bundle);
}
并将状态代码与在以下位置找到的状态代码进行比较:http://docs.indooratlas.com/android/2.2.2/com/indooratlas/android/sdk/IALocationManager.html。
另一件事是寻找带有标签 "IASDK":
的任何日志语句
adb logcat *:E IASDK:V
在 GitHub 中也对同一问题进行了相当广泛的讨论:https://github.com/IndoorAtlas/android-sdk-examples/issues/5。
希望这对您有所帮助,您可以开始接收位置更新了!
我的代码如下,控制无法到达 onLocationChanged 方法,我使用的是物理设备而不是模拟器。请多多指教,谢谢
private IALocationListener locationListener = new IALocationListener() {
@Override
public void onLocationChanged(IALocation location) {
Log.d(TAG, "Latitude: " + location.getLatitude());
Log.d(TAG, "Longitude: " + location.getLongitude());
}
控件在 onStatusChanged 到达但未在 onLocationChanged
@Override
public void onStatusChanged(String s, int i, Bundle bundle) {
Log.d("onStatus","0");
}
};
恢复
@Override
protected void onResume() {
super.onResume();
locationManager.requestLocationUpdates(IALocationRequest.create(),locationListener);
}
暂停
@Override
protected void onPause() {
super.onPause();
locationManager.removeLocationUpdates(locationListener);
}
onDestroy
@Override
protected void onDestroy() {
locationManager.destroy();
super.onDestroy();
}
有几件事可能是原因:
- 您要测试的地点需要按照以下所述进行映射:http://docs.indooratlas.com/app/
- 映射后,需要按照上述文档中的步骤 3 中的描述生成云端 "magnetic map"
- 您需要 Android 设备至少具有 Wifi,但最好还有加速度计、陀螺仪和磁力计
- 您的设备需要启用 Wifi 扫描,因此请在您的设备上启用定位服务
- 您已按照以下所述设置 IndoorAtlas SDK:http://docs.indooratlas.com/android/getting-started.html
要开始进行故障排除,请打印出状态回调的参数:
public void onStatusChanged(String s, int i, Bundle bundle) {
Log.d(LOG_TAG, "onStatusChanged, code: " + i + ", args: " + bundle);
}
并将状态代码与在以下位置找到的状态代码进行比较:http://docs.indooratlas.com/android/2.2.2/com/indooratlas/android/sdk/IALocationManager.html。
另一件事是寻找带有标签 "IASDK":
的任何日志语句adb logcat *:E IASDK:V
在 GitHub 中也对同一问题进行了相当广泛的讨论:https://github.com/IndoorAtlas/android-sdk-examples/issues/5。
希望这对您有所帮助,您可以开始接收位置更新了!