diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java index fffddd787..27d755980 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java @@ -888,22 +888,17 @@ public class MapView extends FrameLayout { if (mDestroyed) { return new LatLng(); } - float x = point.x; - float y = point.y; - - return mNativeMapView.latLngForPixel(new PointF(x / mScreenDensity, y / mScreenDensity)); + point.set(point.x / mScreenDensity, point.y / mScreenDensity); + return mNativeMapView.latLngForPixel(point); } PointF toScreenLocation(@NonNull LatLng location) { if (mDestroyed) { return new PointF(); } - PointF point = mNativeMapView.pixelForLatLng(location); - - float x = point.x * mScreenDensity; - float y = point.y * mScreenDensity; - - return new PointF(x, y); + PointF pointF = mNativeMapView.pixelForLatLng(location); + pointF.set(pointF.x * mScreenDensity, pointF.y * mScreenDensity); + return pointF; } // diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/AnimatedMarkerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/AnimatedMarkerActivity.java index 473bd67b9..1e15c9ea3 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/AnimatedMarkerActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/annotation/AnimatedMarkerActivity.java @@ -112,10 +112,14 @@ public class AnimatedMarkerActivity extends AppCompatActivity { } private class LatLngEvaluator implements TypeEvaluator { + + private LatLng mLatLng = new LatLng(); + @Override public LatLng evaluate(float fraction, LatLng startValue, LatLng endValue) { - return new LatLng(startValue.getLatitude() + (endValue.getLatitude() - startValue.getLatitude()) * fraction, - startValue.getLongitude() + (endValue.getLongitude() - startValue.getLongitude()) * fraction); + mLatLng.setLatitude(startValue.getLatitude() + (endValue.getLatitude() - startValue.getLatitude()) * fraction); + mLatLng.setLongitude(startValue.getLongitude() + (endValue.getLongitude() - startValue.getLongitude()) * fraction); + return mLatLng; } } }