java - Here/Google PositionManager 类在 android sdk 上仅返回 -1.7976931348623157E308 的纬度和经度
问题描述
我看到了一个类似的问题,但它没有正确的答案,
PositioningManager pm = PositioningManager.getInstance();
pm.start(PositioningManager.LocationMethod.GPS);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("longitude is :"+pm.getPosition().getCoordinate().getLongitude());
System.out.println("latitude is :"+pm.getPosition().getCoordinate().getLatitude());
System.out.println("geocode is :"+pm.getPosition().getCoordinate());
我已授予 FINE_LOCATION 和 COARSE_LOCATION 权限,但上述代码的输出是
I/System.out: longitude is :-1.7976931348623157E308
I/System.out: latitude is :-1.7976931348623157E308
I/System.out: geocode is :Lat: -1.7976931348623157E308, Long: -1.7976931348623157E308, Alt: 1.073741824E9
有谁知道出了什么问题?
编辑-我将我的数据源更改为谷歌位置服务,但它仍然不起作用
private void initLocationServices(){
m_googleLocationDataSource = LocationDataSourceGoogleServices.getInstance();
if (m_googleLocationDataSource != null) {
PositioningManager pm = PositioningManager.getInstance();
pm.setDataSource(m_googleLocationDataSource);
pm.start(PositioningManager.LocationMethod.GPS);
userLocation = pm.getPosition().getCoordinate();
System.out.println("geocode" + userLocation);
}
}
仍然返回相同的值
解决方案
推荐阅读
- android - Flutter/Kotlin 方法通道文件删除失败
- database-connection - 从 DatabaseSwingManager 连接时 HSQL 服务器模式引发异常 java.sql.SQLTransientConnectionException
- smartcard - Seaory S22证卡打印机编码器是否兼容Java Card
- azure - 带有 SSIS 包的 Azure Synapse
- asp.net-core - 如何将默认值添加到授权标头值
- r - (R语言)理解什么是“加权”图
- airflow - 在 Airflow 中实现分支
- php - 如何自动为 /storage/ 文件夹中的所有文件设置标题?
- marklogic - 如何在 MarkLogic Grove 中从我自己的 API 调用后端 MarkLogic API?
- python - deg 在 np.polyfit numpy 中做了什么