diff options
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/Marker.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/Marker.java | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/Marker.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/Marker.java index 27c9c03697..c2683cbb56 100644 --- a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/Marker.java +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/Marker.java @@ -15,7 +15,7 @@ import com.mapbox.mapboxsdk.maps.MapView; * An {@link InfoWindow} can be shown when a Marker is pressed * <p/> */ -public final class Marker extends Annotation { +public class Marker extends Annotation { private LatLng position; private String snippet; @@ -32,6 +32,13 @@ public final class Marker extends Annotation { super(); } + public Marker(BaseMarkerOptions baseMarkerOptions) { + position = baseMarkerOptions.position; + snippet = baseMarkerOptions.snippet; + icon = baseMarkerOptions.icon; + title = baseMarkerOptions.title; + } + public LatLng getPosition() { return position; } @@ -61,8 +68,17 @@ public final class Marker extends Annotation { return infoWindowShown; } - void setPosition(LatLng position) { + /** + * Sets the position. + * + * @param position new position + */ + public void setPosition(LatLng position) { this.position = position; + MapboxMap map = getMapboxMap(); + if (map != null) { + map.updateMarker(this); + } } void setSnippet(String snippet) { @@ -70,10 +86,16 @@ public final class Marker extends Annotation { } /** - * Do not use this method. Used internally by the SDK. + * Sets the icon. + * + * @param icon The icon to be used as Marker image */ public void setIcon(@Nullable Icon icon) { this.icon = icon; + MapboxMap map = getMapboxMap(); + if (map != null) { + map.updateMarker(this); + } } public Icon getIcon() { |