From 0d453a688b5bfdd355141e41942fd36c1224d774 Mon Sep 17 00:00:00 2001 From: Tobrun Date: Wed, 24 Jan 2018 15:51:22 +0100 Subject: [PATCH] [android] - correct marker location when using Snapshot#pixelForLatLng --- .../activity/snapshot/MapSnapshotterMarkerActivity.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterMarkerActivity.java b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterMarkerActivity.java index b690f18b6..11d1df008 100644 --- a/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterMarkerActivity.java +++ b/platform/android/MapboxGLAndroidSDKTestApp/src/main/java/com/mapbox/mapboxsdk/testapp/activity/snapshot/MapSnapshotterMarkerActivity.java @@ -9,12 +9,14 @@ import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.ViewTreeObserver; import android.widget.ImageView; + import com.mapbox.mapboxsdk.camera.CameraPosition; import com.mapbox.mapboxsdk.constants.Style; import com.mapbox.mapboxsdk.geometry.LatLng; import com.mapbox.mapboxsdk.snapshotter.MapSnapshot; import com.mapbox.mapboxsdk.snapshotter.MapSnapshotter; import com.mapbox.mapboxsdk.testapp.R; + import timber.log.Timber; /** @@ -72,9 +74,10 @@ public class MapSnapshotterMarkerActivity extends AppCompatActivity implements M // Dom toren PointF markerLocation = snapshot.pixelForLatLng(new LatLng(52.090649433011315, 5.121310651302338)); canvas.drawBitmap(marker, - markerLocation.x, - /* Subtract height (in dp) so the bottom of the marker aligns correctly */ - markerLocation.y - (marker.getHeight() / getResources().getDisplayMetrics().density), + /* Subtract half of the width so we center the bitmap correctly */ + markerLocation.x - marker.getWidth() / 2, + /* Subtract half of the height so we align the bitmap bottom correctly */ + markerLocation.y - marker.getHeight() / 2, null ); return snapshot.getBitmap();