diff --git a/googlemaps/src/main/java/nz/co/trademe/mapme/googlemaps/GoogleMapAnnotationFactory.kt b/googlemaps/src/main/java/nz/co/trademe/mapme/googlemaps/GoogleMapAnnotationFactory.kt index c2718ce..7c6d2c5 100644 --- a/googlemaps/src/main/java/nz/co/trademe/mapme/googlemaps/GoogleMapAnnotationFactory.kt +++ b/googlemaps/src/main/java/nz/co/trademe/mapme/googlemaps/GoogleMapAnnotationFactory.kt @@ -1,6 +1,5 @@ package nz.co.trademe.mapme.googlemaps -import android.graphics.Bitmap import com.google.android.gms.maps.GoogleMap import nz.co.trademe.mapme.LatLng import nz.co.trademe.mapme.annotations.AnnotationFactory @@ -8,8 +7,8 @@ import nz.co.trademe.mapme.annotations.MarkerAnnotation class GoogleMapAnnotationFactory : AnnotationFactory { - override fun createMarker(latLng: LatLng, icon: Bitmap?, title: String?): MarkerAnnotation { - return GoogleMapMarkerAnnotation(latLng, title, icon) + override fun createMarker(latLng: LatLng): MarkerAnnotation { + return GoogleMapMarkerAnnotation(latLng) } override fun clear(map: GoogleMap) { diff --git a/googlemaps/src/main/java/nz/co/trademe/mapme/googlemaps/GoogleMapMarkerAnnotation.kt b/googlemaps/src/main/java/nz/co/trademe/mapme/googlemaps/GoogleMapMarkerAnnotation.kt index 779231e..d105d29 100644 --- a/googlemaps/src/main/java/nz/co/trademe/mapme/googlemaps/GoogleMapMarkerAnnotation.kt +++ b/googlemaps/src/main/java/nz/co/trademe/mapme/googlemaps/GoogleMapMarkerAnnotation.kt @@ -8,9 +8,7 @@ import com.google.android.gms.maps.model.MarkerOptions import nz.co.trademe.mapme.LatLng import nz.co.trademe.mapme.annotations.MarkerAnnotation -class GoogleMapMarkerAnnotation(latLng: LatLng, - title: String?, - icon: Bitmap? = null) : MarkerAnnotation(latLng, title, icon) { +class GoogleMapMarkerAnnotation(latLng: LatLng) : MarkerAnnotation(latLng) { override fun onUpdateIcon(icon: Bitmap?) { nativeMarker?.setIcon(icon?.toBitmapDescriptor()) diff --git a/mapbox/src/main/java/nz/co/trademe/mapme/mapbox/MapboxAnnotationFactory.kt b/mapbox/src/main/java/nz/co/trademe/mapme/mapbox/MapboxAnnotationFactory.kt index e1346bc..bc79a41 100644 --- a/mapbox/src/main/java/nz/co/trademe/mapme/mapbox/MapboxAnnotationFactory.kt +++ b/mapbox/src/main/java/nz/co/trademe/mapme/mapbox/MapboxAnnotationFactory.kt @@ -1,6 +1,5 @@ package nz.co.trademe.mapme.mapbox -import android.graphics.Bitmap import com.mapbox.mapboxsdk.maps.MapboxMap import nz.co.trademe.mapme.LatLng import nz.co.trademe.mapme.annotations.AnnotationFactory @@ -8,8 +7,8 @@ import nz.co.trademe.mapme.annotations.MarkerAnnotation class MapboxAnnotationFactory : AnnotationFactory { - override fun createMarker(latLng: LatLng, icon: Bitmap?, title: String?): MarkerAnnotation { - return MapboxMarkerAnnotation(latLng, title, icon) + override fun createMarker(latLng: LatLng): MarkerAnnotation { + return MapboxMarkerAnnotation(latLng) } override fun clear(map: MapboxMap) { diff --git a/mapbox/src/main/java/nz/co/trademe/mapme/mapbox/MapboxMarkerAnnotation.kt b/mapbox/src/main/java/nz/co/trademe/mapme/mapbox/MapboxMarkerAnnotation.kt index b7d59f0..d826e13 100644 --- a/mapbox/src/main/java/nz/co/trademe/mapme/mapbox/MapboxMarkerAnnotation.kt +++ b/mapbox/src/main/java/nz/co/trademe/mapme/mapbox/MapboxMarkerAnnotation.kt @@ -10,10 +10,7 @@ import com.mapbox.mapboxsdk.maps.MapboxMap import nz.co.trademe.mapme.LatLng import nz.co.trademe.mapme.annotations.MarkerAnnotation -class MapboxMarkerAnnotation(latLng: LatLng, - title: String?, - icon: Bitmap? = null) : MarkerAnnotation(latLng, title, icon) { - +class MapboxMarkerAnnotation(latLng: LatLng) : MarkerAnnotation(latLng) { override fun onUpdateIcon(icon: Bitmap?) { nativeMarker?.let { diff --git a/mapme/src/main/java/nz/co/trademe/mapme/annotations/AnnotationFactory.kt b/mapme/src/main/java/nz/co/trademe/mapme/annotations/AnnotationFactory.kt index e56669f..607ecc2 100644 --- a/mapme/src/main/java/nz/co/trademe/mapme/annotations/AnnotationFactory.kt +++ b/mapme/src/main/java/nz/co/trademe/mapme/annotations/AnnotationFactory.kt @@ -1,11 +1,10 @@ package nz.co.trademe.mapme.annotations -import android.graphics.Bitmap import nz.co.trademe.mapme.LatLng interface AnnotationFactory { - fun createMarker(latLng: LatLng, icon: Bitmap?, title: String?): MarkerAnnotation + fun createMarker(latLng: LatLng): MarkerAnnotation fun clear(map: Map) diff --git a/mapme/src/main/java/nz/co/trademe/mapme/annotations/MarkerAnnotation.kt b/mapme/src/main/java/nz/co/trademe/mapme/annotations/MarkerAnnotation.kt index 021832a..28b9d61 100644 --- a/mapme/src/main/java/nz/co/trademe/mapme/annotations/MarkerAnnotation.kt +++ b/mapme/src/main/java/nz/co/trademe/mapme/annotations/MarkerAnnotation.kt @@ -3,11 +3,7 @@ package nz.co.trademe.mapme.annotations import android.graphics.Bitmap import nz.co.trademe.mapme.LatLng -abstract class MarkerAnnotation(latLng: LatLng, - title: String? = null, - icon: Bitmap? = null, - zIndex: Float = 0f, - alpha: Float = 1f) : MapAnnotation() { +abstract class MarkerAnnotation(latLng: LatLng) : MapAnnotation() { var latLng: LatLng = latLng set(value) { @@ -15,25 +11,25 @@ abstract class MarkerAnnotation(latLng: LatLng, onUpdatePosition(value) } - var title: String? = title + var title: String? = null set(value) { field = value onUpdateTitle(value) } - var icon: Bitmap? = icon + var icon: Bitmap? = null set(value) { field = value onUpdateIcon(value) } - var zIndex: Float = zIndex + var zIndex: Float = 0f set(value) { field = value onUpdateZIndex(value) } - var alpha: Float = alpha + var alpha: Float = 1f set(value) { field = value onUpdateAlpha(value) diff --git a/mapme/src/test/java/nz/co/trademe/mapme/util/TestAnnotation.kt b/mapme/src/test/java/nz/co/trademe/mapme/util/TestAnnotation.kt index 4c5d2fb..70a5b5e 100644 --- a/mapme/src/test/java/nz/co/trademe/mapme/util/TestAnnotation.kt +++ b/mapme/src/test/java/nz/co/trademe/mapme/util/TestAnnotation.kt @@ -1,6 +1,9 @@ package nz.co.trademe.mapme.util -class TestAnnotation : nz.co.trademe.mapme.annotations.MarkerAnnotation(nz.co.trademe.mapme.LatLng(0.0, 0.0), "", null, 0f, 1f) { +import nz.co.trademe.mapme.LatLng +import nz.co.trademe.mapme.annotations.MarkerAnnotation + +class TestAnnotation : MarkerAnnotation(LatLng(0.0, 0.0)) { override fun annotatesObject(nativeObject: Any): Boolean { return false diff --git a/mapme/src/test/java/nz/co/trademe/mapme/util/TestAnnotationFactory.kt b/mapme/src/test/java/nz/co/trademe/mapme/util/TestAnnotationFactory.kt index 6ee02ea..ec5c9a1 100644 --- a/mapme/src/test/java/nz/co/trademe/mapme/util/TestAnnotationFactory.kt +++ b/mapme/src/test/java/nz/co/trademe/mapme/util/TestAnnotationFactory.kt @@ -1,8 +1,12 @@ package nz.co.trademe.mapme.util -class TestAnnotationFactory : nz.co.trademe.mapme.annotations.AnnotationFactory { +import nz.co.trademe.mapme.LatLng +import nz.co.trademe.mapme.annotations.AnnotationFactory +import nz.co.trademe.mapme.annotations.MarkerAnnotation - override fun createMarker(latLng: nz.co.trademe.mapme.LatLng, icon: android.graphics.Bitmap?, title: String?): nz.co.trademe.mapme.annotations.MarkerAnnotation { +class TestAnnotationFactory : AnnotationFactory { + + override fun createMarker(latLng: LatLng): MarkerAnnotation { return TestAnnotation() } diff --git a/sample/src/main/java/nz/co/trademe/mapme/sample/SampleMapMeAdapter.java b/sample/src/main/java/nz/co/trademe/mapme/sample/SampleMapMeAdapter.java index 23fd9e7..175a10b 100644 --- a/sample/src/main/java/nz/co/trademe/mapme/sample/SampleMapMeAdapter.java +++ b/sample/src/main/java/nz/co/trademe/mapme/sample/SampleMapMeAdapter.java @@ -29,7 +29,7 @@ public SampleMapMeAdapter(@NonNull Context context, @NonNull List ma @Override public MapAnnotation onCreateAnnotation(@NotNull AnnotationFactory mapFactory, int position, int viewType) { MarkerData item = this.markers.get(position); - return mapFactory.createMarker(item.getLatLng(), getIconBitmap(item), item.getTitle()); + return mapFactory.createMarker(item.getLatLng()); } @Override @@ -37,6 +37,7 @@ public void onBindAnnotation(@NotNull MapAnnotation annotation, int position, Ob if (annotation instanceof MarkerAnnotation) { MarkerData item = this.markers.get(position); ((MarkerAnnotation) annotation).setIcon(getIconBitmap(item)); + ((MarkerAnnotation) annotation).setTitle(item.getTitle()); } }