diff --git a/app/src/main/java/com/uam/wmi/findmytutor/activity/MapActivity.java b/app/src/main/java/com/uam/wmi/findmytutor/activity/MapActivity.java index 370b2ed..2500b99 100644 --- a/app/src/main/java/com/uam/wmi/findmytutor/activity/MapActivity.java +++ b/app/src/main/java/com/uam/wmi/findmytutor/activity/MapActivity.java @@ -90,6 +90,7 @@ public class MapActivity extends BaseActivity private MapView mapView; private MapboxMap mapboxMap; private Marker droppedMarker; + private Coordinate droppedMarkercoordinate; private HashMap coordsMap = new HashMap<>(); private HashMap markerHash = new HashMap<>(); private Set previousCoordsIds = new HashSet<>(); @@ -208,7 +209,6 @@ public class MapActivity extends BaseActivity selectLocationButton.setVisibility(View.VISIBLE); Icon icon = IconFactory.getInstance(MapActivity.this).fromResource(R.drawable.green_marker); - if (droppedMarker == null) { droppedMarker = mapboxMap.addMarker(new MarkerOptions() @@ -232,7 +232,7 @@ public class MapActivity extends BaseActivity // TODO PUT MANUAL CORD try { - Coordinate coordinate = new Coordinate( + droppedMarkercoordinate = new Coordinate( latLng.getLatitude(), latLng.getLongitude(), latLng.getAltitude(), @@ -243,7 +243,7 @@ public class MapActivity extends BaseActivity disposable.add( coordinateService - .postCoordinate(coordinate) + .postCoordinate(droppedMarkercoordinate) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribeWith(new DisposableSingleObserver() { @@ -277,16 +277,17 @@ public class MapActivity extends BaseActivity Toast.LENGTH_LONG ).show(); - selectLocationButton.setBackgroundColor( - ContextCompat.getColor(MapActivity.this, R.color.colorAccent)); - selectLocationButton.setText("Remove Manual location"); - selectLocationButton.setVisibility(View.VISIBLE); + selectLocationButton.setBackgroundColor( + ContextCompat.getColor(MapActivity.this, R.color.colorAccent)); + selectLocationButton.setText("Remove Manual location"); + selectLocationButton.setVisibility(View.VISIBLE); cancel[0] = true; } else { - // TODO REMOVE Manual Locatio - mapboxMap.removeMarker(droppedMarker); - droppedMarker = null; + // TODO REMOVE Manual Location + mapboxMap.removeMarker(droppedMarker); + droppedMarker = null; + droppedMarkercoordinate = null; Toast.makeText( MapActivity.this, @@ -338,6 +339,7 @@ public class MapActivity extends BaseActivity private void fetchTopCoords() { + disposable.add( // coordinateService.getTopCoordinates() coordinateService.getOnlineCoordinates() @@ -348,12 +350,18 @@ public class MapActivity extends BaseActivity @Override public void onSuccess(List coordsList) { - if (coordsList.isEmpty()) { - Log.e(tag, "200 empty []"); - //mapboxMap.clear(); - return; + if (droppedMarker != null) { + coordsList.add(droppedMarkercoordinate); } + if (coordsList.isEmpty() && droppedMarker == null) { + Log.e(tag, "200 empty []"); + mapboxMap.clear(); + return(); + } + + + ArrayList tmp = new ArrayList<>(); for (Coordinate coordinate : coordsList) {