我正在做一个GPS应用程序,有纬度,经度,速度,海拔......但我没有得到任何数据。我总是得到1.0作为一个值。 (速度与它相同)。
我尝试使用Eclipse中的GPX模拟器(DDMS)和终端上的 (KML模拟器,而不是街头)...但它总是显示0.0或1.0。
我的代码如下:
private Location currentLoc;
private Location previousLoc;
GPS的标准......
// Criteria object is optional. Will return value representing "GPS"
Criteria oGPSSettings = new Criteria();
oGPSSettings.setAccuracy(Criteria.ACCURACY_FINE);
oGPSSettings.setSpeedRequired(true);
oGPSSettings.setAltitudeRequired(true);
oGPSSettings.setBearingRequired(false);
oGPSSettings.setCostAllowed(false);
oGPSSettings.setPowerRequirement(Criteria.POWER_MEDIUM);
收到新地点后......
@Override
public void onLocationChanged(Location location) {
currentLoc = location;
String sText = "Altitude: " + currentLoc.getAltitude();
txtOutput.setText(sText);
}
// sets this location as last location.
previousLoc = currentLoc;
}
我从代码中删除了显示纬度,经度......现在我只显示高度。
问题是:您认为为什么会发生这种情况?纬度和经度工作得很好,但不是高度。也许是硬件问题?因为代码似乎是正确的,我想。只有使用getAltitude函数才有效。
提前谢谢!
答案 0 :(得分:0)
你有没有要求" android.permission.ACCESS_FINE_LOCATION"在你的清单? 也尝试将ACCURACY_FINE更改为ACCURACY_HIGH