diff --git a/.gitignore b/.gitignore
index 3484fa9..c6464a5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,10 +1,14 @@
+.DS_Store
*.iml
-.gradle
+
+/.gradle/
/local.properties
-/.idea/workspace.xml
-/.idea/libraries
-/.idea/*
-.DS_Store
-/build
-/captures
-.externalNativeBuild
+build/
+
+/.idea/
+/build/
+/app/build/
+crashlytics-build.properties
+/app/fabric.properties
+/projectFilesBackup/
+/infer-out/
\ No newline at end of file
diff --git a/app/src/debug/res/values/google_maps_api.xml b/app/src/debug/res/values/google_maps_api.xml
index a94aa3a..d8278ba 100644
--- a/app/src/debug/res/values/google_maps_api.xml
+++ b/app/src/debug/res/values/google_maps_api.xml
@@ -13,6 +13,6 @@ https://console.developers.google.com/flows/enableapi?apiid=maps_android_backend
string in this file.
-->
- AIzaSyA0SKYpzdUhe_XMcGyXiKn5RpTLlMFLiL8
+ AIzaSyBV7jGJpsuW5nt0nsjSgw62GlrpdBkTapo
diff --git a/app/src/main/java/com/aconcepcion/markerbuilder/MapsActivity.java b/app/src/main/java/com/aconcepcion/markerbuilder/MapsActivity.java
index da83f1d..0952b00 100644
--- a/app/src/main/java/com/aconcepcion/markerbuilder/MapsActivity.java
+++ b/app/src/main/java/com/aconcepcion/markerbuilder/MapsActivity.java
@@ -68,9 +68,10 @@ private void setUpMap() {
markerBuilderManager = new MarkerBuilderManagerV2.Builder(this)
.map(mMap)
.enabled(true)
- .radius(200)
.fillColor(Color.BLUE)
.build();
+
+ markerBuilderManager.markThis(new LatLng(3, 3), true, Color.CYAN, Color.YELLOW);
}
@Override
diff --git a/app/version.properties b/app/version.properties
index 7477915..2524b27 100644
--- a/app/version.properties
+++ b/app/version.properties
@@ -1,2 +1,2 @@
-#Sat Feb 25 08:27:44 PHT 2017
-VERSION_CODE=8
+#Tue Apr 18 14:46:00 PHT 2017
+VERSION_CODE=43
diff --git a/geofencemarkerbuilder/.gitignore b/geofencemarkerbuilder/.gitignore
index 796b96d..c6464a5 100644
--- a/geofencemarkerbuilder/.gitignore
+++ b/geofencemarkerbuilder/.gitignore
@@ -1 +1,14 @@
-/build
+.DS_Store
+*.iml
+
+/.gradle/
+/local.properties
+build/
+
+/.idea/
+/build/
+/app/build/
+crashlytics-build.properties
+/app/fabric.properties
+/projectFilesBackup/
+/infer-out/
\ No newline at end of file
diff --git a/geofencemarkerbuilder/build.gradle b/geofencemarkerbuilder/build.gradle
index a856d0b..1cc82e9 100644
--- a/geofencemarkerbuilder/build.gradle
+++ b/geofencemarkerbuilder/build.gradle
@@ -16,10 +16,6 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
}
dependencies {
diff --git a/geofencemarkerbuilder/src/main/java/com/aconcepcion/geofencemarkerbuilder/GeofenceCircle.java b/geofencemarkerbuilder/src/main/java/com/aconcepcion/geofencemarkerbuilder/GeofenceCircle.java
index 4129a85..6ccc4c2 100644
--- a/geofencemarkerbuilder/src/main/java/com/aconcepcion/geofencemarkerbuilder/GeofenceCircle.java
+++ b/geofencemarkerbuilder/src/main/java/com/aconcepcion/geofencemarkerbuilder/GeofenceCircle.java
@@ -26,20 +26,11 @@
* Created by andrewconcepcion on 4/20/15.
*/
public class GeofenceCircle {
-// private final int size;
-
public static final String GEOFENCE_WRAPPER = "geofence";
public static final String DATA_POINT_WRAPPER = "dataPoint";
- public long getCircleId() {
- return circleId;
- }
-
- public static enum MarkerMoveResult {moved, radiusChange, minRadius, maxRadius, none;};
- public static enum MarkerType {move, resize, none;}
-
-
- private static Bitmap centerBitmapCache;
+ public enum MarkerMoveResult {moved, radiusChange, minRadius, maxRadius, none;}
+ public enum MarkerType {move, resize, none;}
private Context context;
private GoogleMap map;
@@ -53,40 +44,65 @@ public static enum MarkerType {move, resize, none;}
private int minRadius;
private int maxRadius;
private int centerIcon;
+ private int centerColor;
private Bitmap centerBitmap;
private int resizerIcon;
private float centerOffsetHorizontal;
private float centerOffsetVertical;
+ private float resizerOffsetHorizontal;
+ private float resizerOffsetVertical;
private Marker centerMarker;
private Marker resizerMarker;
private Circle circle;
+ public static Builder newBuilder(Context context) {
+ return new Builder(context);
+ }
- public static class Builder {
+ public static Builder newBuilder(GeofenceCircle copy) {
+ Builder builder = new Builder();
+ builder.context = copy.context;
+ builder.map = copy.map;
+ builder.isEnabled = copy.isEnabled;
+ builder.center = copy.center;
+ builder.radius = copy.radius;
+ builder.circleId = copy.circleId;
+ builder.strokeWidth = copy.strokeWidth;
+ builder.strokeColor = copy.strokeColor;
+ builder.fillColor = copy.fillColor;
+ builder.minRadius = copy.minRadius;
+ builder.maxRadius = copy.maxRadius;
+ builder.centerIcon = copy.centerIcon;
+ builder.centerBitmap = copy.centerBitmap;
+ builder.resizerIcon = copy.resizerIcon;
+ builder.centerOffsetHorizontal = copy.centerOffsetHorizontal;
+ builder.centerOffsetVertical = copy.centerOffsetVertical;
+ builder.centerMarker = copy.centerMarker;
+ builder.resizerMarker = copy.resizerMarker;
+ builder.circle = copy.circle;
+ return builder;
+ }
+ public static class Builder {
private static int DEFAULT_FILL_COLOR = 0xff0000ff;
private static int DEFAULT_STROKE_COLOR = 0xff000000;
private static int DEFAULT_STROKE_WIDTH = 1;
-
- //required
-// private final int size;
-
- //optional
private Context context;
private GoogleMap map;
private boolean isEnabled;
private LatLng center;
private double radius = new MarkerAreaMeasure(200, MarkerAreaMeasure.Unit.meters).value;
private long circleId;
- private int fillColor = Color.HSVToColor(70, new float[] {1, 1, 200});
+ private int fillColor = Color.HSVToColor(35, new float[]{1, 1, 200});
private float strokeWidth = 4f;
private int strokeColor = Color.RED;
private int minRadius = -1;
private int maxRadius = -1;
private int centerIcon = android.R.drawable.ic_menu_mylocation;
+ private int centerColor = Color.RED;
private int resizerIcon = android.R.drawable.ic_menu_mylocation;
private Bitmap centerBitmap;
private float centerOffsetHorizontal = 0.5f;
@@ -98,15 +114,27 @@ public static class Builder {
private Marker resizerMarker;
private Circle circle;
+ private Builder() {}
+
public Builder(Context context) {
this.context = context;
}
+ public Builder context(Context val) {
+ context = val;
+ return this;
+ }
+
public Builder map(GoogleMap map) {
this.map = map;
return this;
}
+ public Builder isEnabled(boolean val) {
+ isEnabled = val;
+ return this;
+ }
+
public Builder enabled(boolean isEnabled) {
this.isEnabled = isEnabled;
return this;
@@ -187,6 +215,11 @@ public Builder resizerOffsetVertical(float resizerOffsetVertical) {
return this;
}
+ public Builder centerColor(int val) {
+ centerColor = val;
+ return this;
+ }
+
public Bitmap overlay(Bitmap bmp1, Bitmap bmp2) {
Bitmap bmOverlay = Bitmap.createBitmap(bmp1.getWidth(), bmp1.getHeight(), bmp1.getConfig());
Canvas canvas = new Canvas(bmOverlay);
@@ -219,91 +252,76 @@ public static Bitmap getRoundedCornerBitmap(Bitmap bitmap, int pixels) {
return output;
}
- public GeofenceCircle build(){
-
- centerMarker = map.addMarker(new MarkerOptions()
- .position(center)
- .flat(true)
- .anchor(centerOffsetHorizontal, centerOffsetVertical)
- .draggable(isEnabled));
-
-
- resizerMarker = map.addMarker(new MarkerOptions()
- .position(MarkerAreasUtils.toRadiusLatLng(center, radius))
- .anchor(resizerOffsetHorizontal, resizerOffsetVertical)
- .draggable(isEnabled));
-
- if (resizerIcon != 0 && resizerIcon != -1) {
-
- int px = 120;
- Bitmap mDotMarkerBitmap = Bitmap.createBitmap(px, px, Bitmap.Config.ARGB_8888);
- Canvas canvas = new Canvas(mDotMarkerBitmap);
- Drawable shape = ResourcesCompat.getDrawable(context.getResources(), resizerIcon, null);
- shape.setBounds(0, 0, mDotMarkerBitmap.getWidth(), mDotMarkerBitmap.getHeight());
- shape.draw(canvas);
-
- resizerMarker.setIcon(BitmapDescriptorFactory.fromBitmap(mDotMarkerBitmap));
- }
+ public GeofenceCircle build() {
+ return new GeofenceCircle(this);
+ }
+ }
+ private GeofenceCircle(Builder b) {
+ this.context = b.context;
+ this.map = b.map;
+ this.isEnabled = b.isEnabled;
+ this.center = b.center;
+ this.radius = b.radius;
+ this.circleId = b.circleId;
+ this.strokeWidth = b.strokeWidth;
+ this.strokeColor = b.strokeColor;
+ this.fillColor = b.fillColor;
+ this.minRadius = b.minRadius;
+ this.maxRadius = b.maxRadius;
+ this.centerIcon = b.centerIcon;
+ this.centerBitmap = b.centerBitmap;
+ this.resizerIcon = b.resizerIcon;
+ this.centerOffsetHorizontal = b.centerOffsetHorizontal;
+ this.centerOffsetVertical = b.centerOffsetVertical;
+ this.resizerOffsetHorizontal = b.resizerOffsetHorizontal;
+ this.resizerOffsetVertical = b.resizerOffsetVertical;
+ this.centerMarker = b.centerMarker;
+ this.resizerMarker = b.resizerMarker;
+ this.circle = b.circle;
+ this.centerColor = b.centerColor;
+ }
- if (centerIcon != -1) {
- BitmapDrawable bitmapDrawable = (BitmapDrawable) context.getResources().getDrawable(centerIcon);
- Bitmap bitmap = bitmapDrawable.getBitmap();
- Bitmap scaledBitmap = Bitmap.createScaledBitmap(bitmap, (int)(bitmap.getWidth() / 2), (int)(bitmap.getHeight() / 2), false);
- // centerMarker.setIcon(BitmapDescriptorFactory.fromBitmap(scaledBitmap));
+ public void plot() {
- int imageSize = (MetricsUtils.convertDIPsToPixels(context, 30f));
+ centerMarker = map.addMarker(new MarkerOptions()
+ .position(center)
+ .flat(true)
+ .anchor(centerOffsetHorizontal, centerOffsetVertical)
+ .draggable(isEnabled));
- if (centerBitmap == null) {
- if(centerBitmapCache == null) {
- centerBitmap = Bitmap.createBitmap(imageSize, imageSize, Bitmap.Config.RGB_565);
- Drawable drawable = context.getResources().getDrawable(android.R.drawable.sym_def_app_icon);
- Canvas canvas = new Canvas(centerBitmap);
- drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
- drawable.draw(canvas);
- centerBitmapCache = centerBitmap;
- } else {
- centerBitmap = centerBitmapCache;
- }
+ resizerMarker = map.addMarker(new MarkerOptions()
+ .position(MarkerAreasUtils.toRadiusLatLng(center, radius))
+ .anchor(resizerOffsetHorizontal, resizerOffsetVertical)
+ .draggable(isEnabled));
- }
+ if (centerIcon != 0 && centerIcon != -1) {
+ if (centerIcon == android.R.drawable.ic_menu_mylocation) {
-// centerMarker.setIcon(BitmapDescriptorFactory.fromBitmap(overlay(scaledBitmap, getRoundedCornerBitmap(centerBitmap, imageSize))));
+ } else {
+ Drawable centerDrawable = ResourcesCompat.getDrawable(context.getResources(), centerIcon, null);
+ centerDrawable.setColorFilter(centerColor, PorterDuff.Mode.SRC_IN);
+ centerMarker.setIcon(BitmapDescriptorFactory.fromBitmap(((BitmapDrawable) centerDrawable).getBitmap()));
}
-
- circle = map.addCircle(new CircleOptions()
- .center(center)
- .radius(radius)
- .strokeWidth(strokeWidth)
- .strokeColor(strokeColor)
- .fillColor(fillColor));
-
- return new GeofenceCircle(this);
}
- }
- private GeofenceCircle(Builder b) {
- this.context = b.context;
- this.map = b.map;
- this.isEnabled = b.isEnabled;
- this.center = b.center;
- this.radius = b.radius;
- this.circleId = b.circleId;
- this.strokeWidth = b.strokeWidth;
- this.strokeColor = b.strokeColor;
- this.fillColor = b.fillColor;
- this.minRadius = b.minRadius;
- this.maxRadius = b.maxRadius;
- this.centerIcon = b.centerIcon;
- this.centerBitmap = b.centerBitmap;
- this.resizerIcon = b.resizerIcon;
- this.centerOffsetHorizontal = b.centerOffsetHorizontal;
- this.centerOffsetVertical = b.centerOffsetVertical;
- this.centerMarker = b.centerMarker;
- this.resizerMarker = b.resizerMarker;
- this.circle = b.circle;
+ if (resizerIcon != 0 && resizerIcon != -1) {
+ int px = 120;
+ Bitmap mDotMarkerBitmap = Bitmap.createBitmap(px, px, Bitmap.Config.ARGB_8888);
+ Canvas canvas = new Canvas(mDotMarkerBitmap);
+ Drawable shape = ResourcesCompat.getDrawable(context.getResources(), resizerIcon, null);
+ shape.setBounds(0, 0, mDotMarkerBitmap.getWidth(), mDotMarkerBitmap.getHeight());
+ shape.draw(canvas);
+ resizerMarker.setIcon(BitmapDescriptorFactory.fromBitmap(mDotMarkerBitmap));
+ }
+ circle = map.addCircle(new CircleOptions()
+ .center(center)
+ .radius(radius)
+ .strokeWidth(strokeWidth)
+ .strokeColor(strokeColor)
+ .fillColor(fillColor));
}
public void setCenter(LatLng center) {
@@ -312,22 +330,21 @@ public void setCenter(LatLng center) {
}
public void removeArea() {
- if(resizerMarker != null) resizerMarker.remove();
- if(centerMarker != null) centerMarker.remove();
- if(circle != null) circle.remove();
+ if (resizerMarker != null) resizerMarker.remove();
+ if (centerMarker != null) centerMarker.remove();
+ if (circle != null) circle.remove();
}
/**
* This modifies circle according to marker's type and position
- *
+ *
* if the marker is position marker (from this circle), the circle will be moved according to marker's position
* if the marker is resizing marker (from this circle), the circle will be resized according to marker's position
- *
+ *
* If the marker is not in this circle (it's not the position or resizing marker) no action will be done
*
* @param marker
- *
* @return flag indicating which action was done.
* When the marker is not in this circle returned action is MarkerMoveResult.none
*/
@@ -348,7 +365,6 @@ public MarkerMoveResult onMarkerMoved(Marker marker) {
} else {
setRadius(newRadius);
-
return MarkerMoveResult.radiusChange;
}
@@ -356,15 +372,15 @@ public MarkerMoveResult onMarkerMoved(Marker marker) {
return MarkerMoveResult.none;
}
-
-
/**
* Called after update position of center marker, to update the circle and the radius marker
+ *
* @param center
*/
public void onCenterUpdated(LatLng center) {
- if(circle != null) circle.setCenter(center);
- if(resizerMarker != null) resizerMarker.setPosition(MarkerAreasUtils.toRadiusLatLng(center, radius));
+ if (circle != null) circle.setCenter(center);
+ if (resizerMarker != null)
+ resizerMarker.setPosition(MarkerAreasUtils.toRadiusLatLng(center, radius));
}
/**
@@ -375,7 +391,9 @@ public void onCenterUpdated(LatLng center) {
*/
public void setRadius(double radius) {
this.radius = radius;
- circle.setRadius(radius);
+ if (circle != null) {
+ circle.setRadius(radius);
+ }
}
public LatLng getCenter() {
@@ -386,7 +404,9 @@ public double getRadius() {
return radius;
}
-
+ public long getCircleId() {
+ return circleId;
+ }
@Override
public String toString() {
diff --git a/geofencemarkerbuilder/src/main/java/com/aconcepcion/geofencemarkerbuilder/MarkerBuilderManagerV2.java b/geofencemarkerbuilder/src/main/java/com/aconcepcion/geofencemarkerbuilder/MarkerBuilderManagerV2.java
index 9e8abaf..4b6072b 100644
--- a/geofencemarkerbuilder/src/main/java/com/aconcepcion/geofencemarkerbuilder/MarkerBuilderManagerV2.java
+++ b/geofencemarkerbuilder/src/main/java/com/aconcepcion/geofencemarkerbuilder/MarkerBuilderManagerV2.java
@@ -33,6 +33,7 @@ public class MarkerBuilderManagerV2 implements GoogleMap.OnMarkerClickListener,
private final float centerOffsetHorizontal;
private final float centerOffsetVertical;
private final CircleManagerListener circleManagerListener;
+ private final GeofenceCircle defaultCircle;
private List areas = new ArrayList<>(1);
private List savedPoints = new ArrayList<>(1);
@@ -57,6 +58,7 @@ public static class Builder {
private float resizerOffsetHorizontal = 0.5f;
private float resizerOffsetVertical = 0.5f;
private CircleManagerListener circleManagerListener;
+ private GeofenceCircle defaultCircle;
public Builder(Context context) {
this.context = context;
@@ -146,7 +148,24 @@ public Builder resizerOffsetVertical(float resizerOffsetVertical) {
this.resizerOffsetVertical = resizerOffsetVertical;
return this;
}
- public MarkerBuilderManagerV2 build(){
+
+ public MarkerBuilderManagerV2 build() {
+ defaultCircle = new GeofenceCircle.Builder(context)
+ .map(googleMap)
+ .enabled(isEnabled)
+ .circleId(circleId)
+ .strokeWidth(strokeWidth)
+ .strokeColor(strokeColor)
+ .fillColor(fillColor)
+ .minRadius(minRadius)
+ .maxRadius(maxRadius)
+ .centerIcon(centerIcon)
+ .centerBitmap(centerBitmap)
+ .resizerIcon(resizerIcon)
+ .centerOffsetHorizontal(centerOffsetHorizontal)
+ .centerOffsetVertical(centerOffsetVertical)
+ .center(new LatLng(0, 0))
+ .build();
return new MarkerBuilderManagerV2(this);
}
}
@@ -168,6 +187,9 @@ private MarkerBuilderManagerV2(Builder b) {
this.resizerIcon = b.resizerIcon;
this.centerOffsetHorizontal = b.centerOffsetHorizontal;
this.centerOffsetVertical = b.centerOffsetVertical;
+ this.defaultCircle = b.defaultCircle;
+
+ clearCircles();
googleMap.setOnMarkerDragListener(this);
googleMap.setOnMapLongClickListener(this);
@@ -186,12 +208,12 @@ private MarkerMoveResultWithCircle onMarkerMoved(Marker marker) {
GeofenceCircle.MarkerMoveResult result = GeofenceCircle.MarkerMoveResult.none;
GeofenceCircle affectedDraggableCircle = null;
- ArrayList allMarkers = new ArrayList<>();
+ List allMarkers = new ArrayList<>();
allMarkers.addAll(areas);
allMarkers.addAll(savedPoints);
allMarkers.addAll(savedDataPoints);
- for(int i = 0; i < allMarkers.size(); i++) {
+ for (int i = 0; i < allMarkers.size(); i++) {
GeofenceCircle draggableCircle = allMarkers.get(i);
result = draggableCircle.onMarkerMoved(marker);
if (result != GeofenceCircle.MarkerMoveResult.none) {
@@ -208,17 +230,17 @@ private MarkerMoveResultWithCircle onMarkerMoved(Marker marker) {
*/
public void clearCircles() {
- for(int i = 0; i < areas.size(); i++) {
+ for (int i = 0; i < areas.size(); i++) {
getCircles().get(i).removeArea();
}
}
public void removeCircle(long geofenceCircleId) {
- for(int i = 0; i < savedPoints.size(); i++) {
+ for (int i = 0; i < savedPoints.size(); i++) {
GeofenceCircle savedCircle = savedPoints.get(i);
- if(savedCircle.getCircleId() == geofenceCircleId){
+ if (savedCircle.getCircleId() == geofenceCircleId) {
savedCircle.removeArea();
break;
}
@@ -227,7 +249,7 @@ public void removeCircle(long geofenceCircleId) {
public void clearSavedCircles() {
- for(int i = 0; i < savedPoints.size(); i++) {
+ for (int i = 0; i < savedPoints.size(); i++) {
GeofenceCircle oldCircle = savedPoints.get(i);
oldCircle.removeArea();
}
@@ -235,48 +257,35 @@ public void clearSavedCircles() {
}
public void markThis(LatLng point, boolean isSaved) {
+ markThis(GeofenceCircle.newBuilder(defaultCircle).center(point).build(), isSaved);
+ }
+ public void markThis(GeofenceCircle circle, boolean isSaved) {
clearCircles();
- double initRadiusMetersFinal;
-
- if(radius == 0) {
- Point screenCenterPoint = googleMap.getProjection().toScreenLocation(point);
- LatLng radiusLatLng = googleMap.getProjection().fromScreenLocation(new Point(screenCenterPoint.x + (int)radius, screenCenterPoint.y));
- initRadiusMetersFinal = MarkerAreasUtils.toRadiusMeters(point, radiusLatLng);
- } else {
- initRadiusMetersFinal = radius;
+ if (radius == 0) {
+ double initRadiusMetersFinal;
+ Point screenCenterPoint = googleMap.getProjection().toScreenLocation(circle.getCenter());
+ LatLng radiusLatLng = googleMap.getProjection().fromScreenLocation(new Point(screenCenterPoint.x + 100, screenCenterPoint.y));
+ initRadiusMetersFinal = MarkerAreasUtils.toRadiusMeters(circle.getCenter(), radiusLatLng);
+ circle.setRadius(initRadiusMetersFinal);
}
-
- GeofenceCircle geofenceCircle = new GeofenceCircle.Builder(context)
- .map(googleMap)
- .enabled(isEnabled)
- .radius(initRadiusMetersFinal)
- .circleId(circleId)
- .strokeWidth(strokeWidth)
- .strokeColor(strokeColor)
- .fillColor(fillColor)
- .minRadius(minRadius)
- .maxRadius(maxRadius)
- .centerIcon(centerIcon)
- .centerBitmap(centerBitmap)
- .resizerIcon(resizerIcon)
- .centerOffsetHorizontal(centerOffsetHorizontal)
- .centerOffsetVertical(centerOffsetVertical)
- .center(point)
- .build();
-
- if(!isSaved) {
- areas.add(geofenceCircle);
+ circle.plot();
+ if (isSaved) {
+ savedPoints.add(circle);
} else {
- savedPoints.add(geofenceCircle);
+ areas.add(circle);
}
+ if (circleManagerListener != null) circleManagerListener.onCreateCircle(circle);
+ }
- if(circleManagerListener != null) circleManagerListener.onCreateCircle(geofenceCircle);
+ public void markThis(LatLng point, boolean isSaved, int fillColor, int centerColor) {
+ markThis(GeofenceCircle.newBuilder(defaultCircle).center(point).fillColor(fillColor).centerColor(centerColor).build(), isSaved);
}
+
public void plotPoints(LatLng point, Integer radius, long circularGeofenceId, int fillColor) {
GeofenceCircle circle = addSavedPoint(point, radius, circularGeofenceId, fillColor);
- if(circleManagerListener != null) circleManagerListener.onInitCreateCircle(circle);
+ if (circleManagerListener != null) circleManagerListener.onInitCreateCircle(circle);
}
@@ -306,10 +315,16 @@ public GeofenceCircle addSavedPoint(LatLng savedPoint, Integer radius, long geof
.center(savedPoint)
.build();
+ circle.plot();
+
savedPoints.add(circle);
return circle;
}
+ public GeofenceCircle getDefaultCircle() {
+ return defaultCircle;
+ }
+
public List getCircles() {
return areas;
}
@@ -327,7 +342,7 @@ public void onMapLongClick(LatLng latLng) {
@Override
public boolean onMarkerClick(Marker marker) {
- if(circleManagerListener == null) return false;
+ if (circleManagerListener == null) return false;
MarkerMoveResultWithCircle result = onMarkerMoved(marker);
circleManagerListener.onCircleMarkerClick(result.circle);
return false;
@@ -336,7 +351,7 @@ public boolean onMarkerClick(Marker marker) {
@Override
public void onMarkerDragStart(Marker marker) {
MarkerMoveResultWithCircle result = onMarkerMoved(marker);
- if(circleManagerListener == null) return;
+ if (circleManagerListener == null) return;
switch (result.markerMoveResult) {
case minRadius: {
circleManagerListener.onMinRadius(result.circle);
@@ -354,14 +369,15 @@ public void onMarkerDragStart(Marker marker) {
circleManagerListener.onMoveCircleStart(result.circle);
break;
}
- default: break;
+ default:
+ break;
}
}
@Override
public void onMarkerDrag(Marker marker) {
MarkerMoveResultWithCircle result = onMarkerMoved(marker);
- if(circleManagerListener == null) return;
+ if (circleManagerListener == null) return;
switch (result.markerMoveResult) {
case minRadius: {
circleManagerListener.onMinRadius(result.circle);
@@ -371,14 +387,15 @@ public void onMarkerDrag(Marker marker) {
circleManagerListener.onMaxRadius(result.circle);
break;
}
- default: break;
+ default:
+ break;
}
}
@Override
public void onMarkerDragEnd(Marker marker) {
MarkerMoveResultWithCircle result = onMarkerMoved(marker);
- if(circleManagerListener == null) return;
+ if (circleManagerListener == null) return;
switch (result.markerMoveResult) {
case minRadius: {
circleManagerListener.onMinRadius(result.circle);
@@ -396,7 +413,8 @@ public void onMarkerDragEnd(Marker marker) {
circleManagerListener.onMoveCircleEnd(result.circle);
break;
}
- default: break;
+ default:
+ break;
}
}
}