summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
authorTobrun <tobrun.van.nuland@gmail.com>2015-10-18 19:11:33 +0200
committerLeith Bade <leith@mapbox.com>2015-10-22 15:15:23 +1100
commit9fa48abf6e63bfca2699d17826c55dbabacf7fa6 (patch)
tree2c40b9497513e0edd2a23e4ca9029e66c0b63594 /android
parenta6aade629b66cbc44dde9abc9d99acf3b97d0b7f (diff)
downloadqtlocation-mapboxgl-9fa48abf6e63bfca2699d17826c55dbabacf7fa6.tar.gz
[android] # 2659 - While zooming location change is incorrect
Diffstat (limited to 'android')
-rw-r--r--android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java16
1 files changed, 8 insertions, 8 deletions
diff --git a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java
index fec23d6ca9..618925945f 100644
--- a/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java
+++ b/android/java/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/views/MapView.java
@@ -196,6 +196,7 @@ public final class MapView extends FrameLayout {
private LostApiClient mLocationClient;
private LocationRequest mLocationRequest;
private ImageView mGpsMarker;
+ private float mGpsMarkerOffset;
private Location mGpsLocation;
private MyLocationListener mLocationListener;
@@ -634,6 +635,10 @@ public final class MapView extends FrameLayout {
mGpsMarker = new ImageView(getContext());
mGpsMarker.setImageResource(R.drawable.location_marker);
mGpsMarker.setVisibility(View.INVISIBLE);
+ float iconSize = 27.0f * mScreenDensity;
+ mGpsMarkerOffset = iconSize/2;
+ FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams((int) iconSize, (int) iconSize);
+ mGpsMarker.setLayoutParams(lp);
addView(mGpsMarker);
// Setup compass
@@ -3001,17 +3006,12 @@ public final class MapView extends FrameLayout {
}
private void updateGpsMarker() {
- if (isMyLocationEnabled() && mGpsLocation != null) {
+ if (mIsMyLocationEnabled && mGpsLocation != null) {
mGpsMarker.setVisibility(View.VISIBLE);
LatLng coordinate = new LatLng(mGpsLocation);
PointF screenLocation = toScreenLocation(coordinate);
-
- float iconSize = 27.0f * mScreenDensity;
- // Update Location
- FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams((int) iconSize, (int) iconSize);
- lp.leftMargin = (int) (screenLocation.x - iconSize / 2.0f);
- lp.topMargin = (int) (screenLocation.y + iconSize / 2.0f);
- mGpsMarker.setLayoutParams(lp);
+ mGpsMarker.setX(screenLocation.x - mGpsMarkerOffset);
+ mGpsMarker.setY(screenLocation.y - mGpsMarkerOffset);
rotateImageView(mGpsMarker, 0.0f);
mGpsMarker.requestLayout();
} else {