我正在尝试开发使用GPS位置进行服务的应用程序。每个服务都应该有一个位置(GeoPoint)。我试图获取当前位置并将其保存到解析数据库。我试图使用getCurrentLocationInBackground但遗憾的是没有关于如何使用它的指南。我使用了以下代码,但遗憾的是它无法正常工作。请帮忙!
void getLocation() {
// ParseGeoPoint location = null;
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_LOW);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_LOW);
ParseGeoPoint.getCurrentLocationInBackground(20000, criteria, new LocationCallback() {
@Override
public void done(ParseGeoPoint geoPoint, ParseException e) {
if (e == null) {
Toast.makeText(getApplicationContext(), geoPoint.getLatitude()+"", 50000).show();
} else {
// handle your error
e.printStackTrace();
Toast.makeText(getApplicationContext(),"error", 50000).show();
}
}
});
}
答案 0 :(得分:0)
我能够通过在build.grade中添加以下依赖项来解决这个问题:
dependencies {
compile 'com.google.android.gms:play-services-location:7.5.0'
}
我还必须删除来自AndroidManifest.xml的所有ACCESS_COARSE_LOCATION
和ACCESS_FINE_LOCATION
权限,这看起来很奇怪。
您定义标准的方式是正确的,也是必要的。
这是Parse.com API中非常好的功能,但我希望他们能提供一些文档。我一点也不相信......在我有时间正确实施Google Play服务之前,我只是将它用作快速而肮脏的解决方案。