getCurrentLocationInBackground Parse.com

时间:2015-02-03 03:13:28

标签: android parse-platform geolocation geopoints

我正在尝试开发使用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();
            }
          }
        });


}

1 个答案:

答案 0 :(得分:0)

我能够通过在build.grade中添加以下依赖项来解决这个问题:

dependencies {
    compile 'com.google.android.gms:play-services-location:7.5.0'
}

我还必须删除来自AndroidManifest.xml的所有ACCESS_COARSE_LOCATIONACCESS_FINE_LOCATION权限,这看起来很奇怪。

您定义标准的方式是正确的,也是必要的。

这是Parse.com API中非常好的功能,但我希望他们能提供一些文档。我一点也不相信......在我有时间正确实施Google Play服务之前,我只是将它用作快速而肮脏的解决方案。