#2535 - Encapsulating remainder of fields in Marker (except for position due to more JNI work needed) to protect Markers

This commit is contained in:
Brad Leege
2015-10-07 10:02:11 -05:00
parent 463c52fa7e
commit 6fbb57e6ee
3 changed files with 37 additions and 34 deletions

View File

@@ -11,17 +11,17 @@ import com.mapbox.mapboxsdk.views.MapView;
public class Marker extends Annotation {
float anchorU;
float anchorV;
boolean draggable;
boolean flat;
float infoWindowAnchorU;
float infoWindowAnchorV;
private float anchorU;
private float anchorV;
private boolean draggable;
private boolean flat;
private float infoWindowAnchorU;
private float infoWindowAnchorV;
LatLng position;
float rotation;
String snippet;
private float rotation;
private String snippet;
private String sprite = "default_marker";
String title;
private String title;
private InfoWindow infoWindow = null;
private boolean infoWindowShown = false;
@@ -65,6 +65,14 @@ public class Marker extends Annotation {
return anchorV;
}
public float getInfoWindowAnchorU() {
return infoWindowAnchorU;
}
public float getInfoWindowAnchorV() {
return infoWindowAnchorV;
}
public LatLng getPosition() {
return position;
}

View File

@@ -10,27 +10,26 @@ public class MarkerOptions extends AnnotationOptions {
}
public MarkerOptions anchor(float u, float v) {
((Marker)annotation).anchorU = u;
((Marker)annotation).anchorV = v;
((Marker)annotation).setAnchor(u, v);
return this;
}
public MarkerOptions draggable(boolean draggable) {
((Marker)annotation).draggable = draggable;
((Marker)annotation).setDraggable(draggable);
return this;
}
public MarkerOptions flat(boolean flat) {
((Marker)annotation).flat = flat;
((Marker)annotation).setFlat(flat);
return this;
}
public float getAnchorU() {
return ((Marker)annotation).anchorU;
return ((Marker)annotation).getAnchorU();
}
public float getAnchorV() {
return ((Marker)annotation).anchorV;
return ((Marker)annotation).getAnchorV();
}
// TODO: Implement this method of Google Maps Android API
@@ -39,11 +38,11 @@ public class MarkerOptions extends AnnotationOptions {
// }
public float getInfoWindowAnchorU() {
return ((Marker)annotation).infoWindowAnchorU;
return ((Marker)annotation).getInfoWindowAnchorU();
}
public float getInfoWindowAnchorV() {
return ((Marker)annotation).infoWindowAnchorV;
return ((Marker)annotation).getInfoWindowAnchorV();
}
public Marker getMarker() {
@@ -51,37 +50,36 @@ public class MarkerOptions extends AnnotationOptions {
}
public LatLng getPosition() {
return ((Marker)annotation).position;
return ((Marker)annotation).getPosition();
}
public float getRotation() {
return ((Marker)annotation).rotation;
return ((Marker)annotation).getRotation();
}
public String getSnippet() {
return ((Marker)annotation).snippet;
return ((Marker)annotation).getSnippet();
}
public String getTitle() {
return ((Marker)annotation).title;
return ((Marker)annotation).getTitle();
}
public MarkerOptions infoWindowAnchor(float u, float v) {
((Marker)annotation).infoWindowAnchorU = u;
((Marker)annotation).infoWindowAnchorV = v;
((Marker)annotation).setInfoWindowAnchor(u, v);
return this;
}
public boolean isDraggable() {
return ((Marker)annotation).draggable;
return ((Marker)annotation).isDraggable();
}
public boolean isFlat() {
return ((Marker)annotation).flat;
return ((Marker)annotation).isFlat();
}
public boolean isVisible() {
return ((Marker)annotation).visible;
return ((Marker)annotation).isVisible();
}
public MarkerOptions position(LatLng position) {
@@ -90,12 +88,12 @@ public class MarkerOptions extends AnnotationOptions {
}
public MarkerOptions rotation(float rotation) {
((Marker)annotation).rotation = rotation;
((Marker)annotation).setRotation(rotation);
return this;
}
public MarkerOptions snippet(String snippet) {
((Marker)annotation).snippet = snippet;
((Marker)annotation).setSnippet(snippet);
return this;
}
@@ -105,12 +103,12 @@ public class MarkerOptions extends AnnotationOptions {
}
public MarkerOptions title(String title) {
((Marker)annotation).title = title;
((Marker)annotation).setTitle(title);
return this;
}
public MarkerOptions visible(boolean visible) {
annotation.visible = visible;
annotation.setVisible(visible);
return this;
}

View File

@@ -49,7 +49,6 @@ import android.widget.ArrayAdapter;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.ZoomButtonsController;
import com.almeros.android.multitouch.gesturedetectors.RotateGestureDetector;
import com.almeros.android.multitouch.gesturedetectors.TwoFingerGestureDetector;
import com.mapbox.mapboxsdk.R;
@@ -67,7 +66,6 @@ import com.mapzen.android.lost.api.LocationListener;
import com.mapzen.android.lost.api.LocationRequest;
import com.mapzen.android.lost.api.LocationServices;
import com.mapzen.android.lost.api.LostApiClient;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Arrays;
@@ -75,7 +73,6 @@ import java.util.Collections;
import java.util.Iterator;
import java.util.List;
/**
* A {@link MapView} provides an embeddable map interface, similar to the one provided by the Google Maps API.
* You use this class to display map information and to manipulate the map contents from your application.
@@ -2897,4 +2894,4 @@ public final class MapView extends FrameLayout implements LocationListener, Comp
context.startActivity(intent);
}
}
}
}