1

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


}
4

1 回答 1

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 服务。

于 2015-06-22T18:39:53.677 回答