public void mockLocation(LatLng latLng1, LatLng latLng2) { latLngTMinusDeltaT[t % deltaT] = latLng1; if (t < deltaT) { locationClient.setMockLocation(map(latLng1, latLng2)); } else { float bearing = (float) GeometryUtils.initialBearing(latLngTMinusDeltaT[(t + 1) % deltaT], latLng1); locationClient.setMockLocation(map(latLng1, bearing)); } t++; }
private Location map(LatLng latLng1, LatLng latLng2) { Location location = new Location(PROVIDER); location.setLatitude(latLng1.lat); location.setLongitude(latLng1.lng); location.setAccuracy(3.0f); location.setTime(System.currentTimeMillis()); location.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos()); location.setBearing((float) GeometryUtils.initialBearing(latLng1, latLng2)); location.setSpeed(13.4f); location.setAltitude(0d); return location; }