是否只有在发生变化时才检索位置坐标的方法

时间:2018-09-13 03:17:52

标签: codenameone

以下方法用于使用我的应用程序开始和停止位置跟踪,从而几乎每分钟连续轮询一次位置。我只想在坐标发生变化时捕获位置。我想知道是否有任何方法可以在发生变化时进行比较并检索位置。 我尝试手动比较坐标,这使请求变慢。请告知。

public void stopTracking() {
        if (time != null) {
            time.cancel();
        }
        time = null;
        LocationManager.getLocationManager().setLocationListener(null);
    }

    public void startTracking() {
        if (time != null) {
            stopTracking();
        }
        if (Preferences.get("LocationTracking", true)) {
            long delay = Server.instance.getLoctionPollingIntervalMillis();
            LocationManager.getLocationManager().setLocationListener(this,
                    new LocationRequest(LocationRequest.PRIORITY_LOW_ACCUARCY, delay));
            time = new Timer();
            time.schedule(new TimerTask() {
                @Override
                public void run() {
                    if (lastLocation != null) {
                        double lat = (double) lastLocation.getLatitude();
                        double lot = (double) lastLocation.getLongitude();
                        Server.instance.updateLocationInServer(lat, lot, System.currentTimeMillis(), true);
                    }
                }
            }, 30000, delay);
        }
    }

0 个答案:

没有答案