summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkevin <kevin.li@mapbox.com>2019-06-26 15:15:02 +0800
committerkevin <kevin.li@mapbox.com>2019-06-26 15:16:49 +0800
commit156de990ec9998e13765183a5983339581ef3290 (patch)
tree258e1ff64b9136d29486a943915d9d60c4058b32
parent32de702795296dd7357e531dfa44079a1828cbe7 (diff)
downloadqtlocation-mapboxgl-156de990ec9998e13765183a5983339581ef3290.tar.gz
Fix review comments.
-rw-r--r--platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraPosition.java22
1 files changed, 13 insertions, 9 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraPosition.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraPosition.java
index 7c297bd0f4..ad6e2a0638 100644
--- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraPosition.java
+++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/camera/CameraPosition.java
@@ -9,12 +9,14 @@ import android.support.annotation.Keep;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
-import com.mapbox.geojson.Point;
+import com.mapbox.geojson.shifter.CoordinateShifterManager;
import com.mapbox.mapboxsdk.R;
import com.mapbox.mapboxsdk.constants.MapboxConstants;
import com.mapbox.mapboxsdk.geometry.LatLng;
import com.mapbox.mapboxsdk.utils.MathUtils;
+import java.util.List;
+
/**
* Resembles the position, angle, zoom and tilt of the user's viewpoint.
*/
@@ -170,7 +172,7 @@ public final class CameraPosition implements Parcelable {
* Builder for composing CameraPosition objects.
*/
public static final class Builder {
- private boolean needShift = true;
+ private boolean needShift = false;
private double bearing = -1;
@Nullable
private LatLng target = null;
@@ -223,8 +225,6 @@ public final class CameraPosition implements Parcelable {
*/
public Builder(@Nullable CameraUpdateFactory.CameraPositionUpdate update) {
super();
- // The location in update is shifted before, so no need to shift again.
- needShift = false;
if (update != null) {
bearing = update.getBearing();
target = update.getTarget();
@@ -240,8 +240,6 @@ public final class CameraPosition implements Parcelable {
*/
public Builder(@Nullable CameraUpdateFactory.ZoomUpdate update) {
super();
- // The location in update is shifted before, so no need to shift again.
- needShift = false;
if (update != null) {
this.zoom = update.getZoom();
}
@@ -276,6 +274,7 @@ public final class CameraPosition implements Parcelable {
*/
@NonNull
public Builder target(LatLng location) {
+ needShift = true;
this.target = location;
return this;
}
@@ -319,10 +318,15 @@ public final class CameraPosition implements Parcelable {
*/
public CameraPosition build() {
if (needShift && target != null) {
- Point point = Point.fromLngLat(target.getLongitude(), target.getLatitude());
- this.target = new LatLng(point.latitude(), point.longitude());
+ //todo: add check after https://github.com/mapbox/mapbox-java/issues/1057 is resolved.
+ List<Double> shifted = CoordinateShifterManager.getCoordinateShifter()
+ .shiftLonLat(target.getLongitude(), target.getLatitude());
+ if (shifted != null && shifted.size() > 1) {
+ target.setLongitude(shifted.get(0));
+ target.setLatitude(shifted.get(1));
+ }
}
- return new CameraPosition(target, zoom, tilt, bearing);
+ return new CameraPosition(this.target, zoom, tilt, bearing);
}
}
}