如何以1分钟的间隔获取更新的位置ANDROID

相信

我想以 1 分钟的间隔获取更新的位置,以便我将标记放在地图上,同时这样另一个应用程序可以在我移动时看到我的当前位置。

因此,这里是我的代码,但痛心地说,即使代码已经在里面不会更新位置onLocationChanged的方法。但我不确定我的代码是否正确。

@Override
public void onLocationChanged(Location location) {

    mLastLocation = location;
    if (mCurrLocationMarker != null) {
        mCurrLocationMarker.remove();
    }
    latlng = new LatLng(location.getLatitude(), location.getLongitude());
    lat = String.valueOf(location.getLatitude());
    lLong = String.valueOf(location.getLongitude());

    driverID = pref.getString("driverID", "");

    final Query userName = ref.orderByChild("username").equalTo(username);
    userName.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot snapShot : dataSnapshot.getChildren()) {
                if (!snapShot.child("latitude").equals(lat) || !snapShot.child("longitude").equals(lLong)) {
                    snapShot.getRef().child("latitude").setValue(lat);
                    snapShot.getRef().child("longitude").setValue(lLong);
                    snapShot.getRef().child("currentLocation").setValue(strOrigin);
                    Toast.makeText(MapsActivity.this, "old lat: " + snapShot.child("latitude").getValue().toString() + "\nnew lat: " + lat +
                            "\nold long: " + snapShot.child("longitude").getValue().toString() + "\nnew long: " + lLong, Toast.LENGTH_LONG).show();
                }
            }
            markerOptions = new MarkerOptions();
            markerOptions.position(latlng);
            markerOptions.title("Current Location");
            markerOptions.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_MAGENTA));
            mCurrLocationMarker = mMap.addMarker(markerOptions);

            //move map camera
            mMap.moveCamera(CameraUpdateFactory.newLatLng(latlng));
            mMap.animateCamera(CameraUpdateFactory.zoomTo(11));
        }

        @Override
        public void onCancelled(FirebaseError firebaseError) {
            Toast.makeText(MapsActivity.this, "on cancelled child latlng: " + firebaseError.getMessage(), Toast.LENGTH_SHORT).show();
        }
    });

    Geocoder geocoder;
    List<android.location.Address> addresses;
    geocoder = new Geocoder(this, Locale.getDefault());

    StringBuilder result = new StringBuilder();

    try {
        addresses = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);

        if (addresses.size() > 0) {
            Address address = addresses.get(0);
            result.append(address.getAddressLine(0)).append(", ");
            result.append(address.getLocality()).append(", ");
            result.append(address.getCountryName());
        }

        strOrigin = result.toString();
        Toast.makeText(MapsActivity.this, "origin" + strOrigin, Toast.LENGTH_SHORT).show();
        // onSendOrigin(r);
    } catch (IOException e) {
        e.printStackTrace();
    }
    //stop location updates
    if (mGoogleApiClient != null) {
        LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);
    }\
}
杰森鲍威尔

看起来你在打电话:

        LocationServices.FusedLocationApi.removeLocationUpdates(mGoogleApiClient, this);

在 onLocationChanged 方法中。这将在第一次调用 onLocationChanged 后立即停止位置更新。

尝试删除该行,看看它是否有效。您应该只在使用完位置服务或应用程序暂停/停止时调用 removeLocationUpdates

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何以较小的间隔(例如1分钟)使用Android AlarmManager?

来自分类Dev

如果前后1分钟或2分钟,如何舍入到最接近的5分钟间隔?

来自分类Dev

Android屏幕在特定的不同时间间隔(例如1分钟,2分钟)以编程方式锁定

来自分类Dev

如何在5分钟的间隔后使用autoit检查文件更新?

来自分类Dev

如何在SQL中将5分钟的时间戳间隔转换为1分钟的间隔,同时保留其他信息?

来自分类Dev

日期:获取当前的15分钟间隔

来自分类Dev

根据15分钟的间隔获取计数

来自分类Dev

将日志间隔从10分钟更改为1分钟

来自分类Dev

如何创建间隔为1分钟的28小时制的表格?

来自分类Dev

如何获得X日期的最小间隔为1分钟?

来自分类Dev

如何添加新的5分钟间隔

来自分类Dev

如何获得每5分钟的间隔记录?

来自分类Dev

我们如何使用ShellTileSchedule在5分钟的间隔内更新Windows Phone 8翻转贴图图像?

来自分类Dev

固定间隔说5分钟后,如何从url保存JSON并从url更新保存的文件

来自分类Dev

如何获取从当前时间到晚上10:30的每30:00(30分钟)的时间间隔

来自分类Dev

如何获取从当前时间到晚上10:30的每30:00(30分钟)的时间间隔

来自分类Dev

如何在Android中每2分钟将位置坐标存储在数组中

来自分类Dev

如何在Android中以60分钟的间隔安排每天的上午12点至下午6点之间的工作?

来自分类Dev

如何以45分钟为间隔将日期和时间四舍五入为日期和时间

来自分类Dev

如何在Android中每30分钟停止AppWidgetProvider自动更新

来自分类Dev

在30分钟之前获取Android Unix时代?

来自分类Dev

如何获取每隔五分钟的今天的记录数?

来自分类Dev

如何获取15分钟前的最新条目?

来自分类Dev

如果提前1,2,3,4分钟,如何将其四舍五入到最接近的5分钟间隔?

来自分类Dev

将分钟递增至最近的15分钟间隔

来自分类Dev

以15分钟的间隔获取从给定的特定日期到“现在”的数据

来自分类Dev

以2分钟为间隔获取每种类型的总数

来自分类Dev

如何将csv中缺少的日期(间隔为15分钟)点存储到新文件中(间隔为15分钟)-python 3.5

来自分类Dev

1分钟后如何使用javascript刷新Repeater?

Related 相关文章

  1. 1

    如何以较小的间隔(例如1分钟)使用Android AlarmManager?

  2. 2

    如果前后1分钟或2分钟,如何舍入到最接近的5分钟间隔?

  3. 3

    Android屏幕在特定的不同时间间隔(例如1分钟,2分钟)以编程方式锁定

  4. 4

    如何在5分钟的间隔后使用autoit检查文件更新?

  5. 5

    如何在SQL中将5分钟的时间戳间隔转换为1分钟的间隔,同时保留其他信息?

  6. 6

    日期:获取当前的15分钟间隔

  7. 7

    根据15分钟的间隔获取计数

  8. 8

    将日志间隔从10分钟更改为1分钟

  9. 9

    如何创建间隔为1分钟的28小时制的表格?

  10. 10

    如何获得X日期的最小间隔为1分钟?

  11. 11

    如何添加新的5分钟间隔

  12. 12

    如何获得每5分钟的间隔记录?

  13. 13

    我们如何使用ShellTileSchedule在5分钟的间隔内更新Windows Phone 8翻转贴图图像?

  14. 14

    固定间隔说5分钟后,如何从url保存JSON并从url更新保存的文件

  15. 15

    如何获取从当前时间到晚上10:30的每30:00(30分钟)的时间间隔

  16. 16

    如何获取从当前时间到晚上10:30的每30:00(30分钟)的时间间隔

  17. 17

    如何在Android中每2分钟将位置坐标存储在数组中

  18. 18

    如何在Android中以60分钟的间隔安排每天的上午12点至下午6点之间的工作?

  19. 19

    如何以45分钟为间隔将日期和时间四舍五入为日期和时间

  20. 20

    如何在Android中每30分钟停止AppWidgetProvider自动更新

  21. 21

    在30分钟之前获取Android Unix时代?

  22. 22

    如何获取每隔五分钟的今天的记录数?

  23. 23

    如何获取15分钟前的最新条目?

  24. 24

    如果提前1,2,3,4分钟,如何将其四舍五入到最接近的5分钟间隔?

  25. 25

    将分钟递增至最近的15分钟间隔

  26. 26

    以15分钟的间隔获取从给定的特定日期到“现在”的数据

  27. 27

    以2分钟为间隔获取每种类型的总数

  28. 28

    如何将csv中缺少的日期(间隔为15分钟)点存储到新文件中(间隔为15分钟)-python 3.5

  29. 29

    1分钟后如何使用javascript刷新Repeater?

热门标签

归档