From f07af145c9f8cad4e71f2cacf3ec8a54079bbd39 Mon Sep 17 00:00:00 2001 From: Aran Zaiger Date: Sun, 10 Jul 2016 15:21:01 +0300 Subject: [PATCH] added circle to map --- .../sagi/thesocialnotework/GmapFragment.java | 32 +++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/android_app/matan/ara/sagi/thesocialnotework/GmapFragment.java b/app/src/main/java/com/android_app/matan/ara/sagi/thesocialnotework/GmapFragment.java index 81a2a81..81861f3 100644 --- a/app/src/main/java/com/android_app/matan/ara/sagi/thesocialnotework/GmapFragment.java +++ b/app/src/main/java/com/android_app/matan/ara/sagi/thesocialnotework/GmapFragment.java @@ -8,6 +8,7 @@ import android.content.Intent; import android.content.pm.PackageManager; import android.graphics.Bitmap; import android.graphics.BitmapFactory; +import android.graphics.Color; import android.location.Location; import android.net.Uri; import android.os.AsyncTask; @@ -37,6 +38,8 @@ import com.google.android.gms.maps.SupportMapFragment; import com.google.android.gms.maps.model.BitmapDescriptor; import com.google.android.gms.maps.model.BitmapDescriptorFactory; import com.google.android.gms.maps.model.CameraPosition; +import com.google.android.gms.maps.model.Circle; +import com.google.android.gms.maps.model.CircleOptions; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.Marker; import com.google.android.gms.maps.model.MarkerOptions; @@ -81,6 +84,7 @@ public class GmapFragment extends Fragment implements OnMapReadyCallback { private Long dateFilterSelection; private float locationFilterSelection; List listOfNotes; + private Circle onMapCircle; private final String day = "24 hours"; private final String week = "Week"; @@ -236,9 +240,9 @@ public class GmapFragment extends Fragment implements OnMapReadyCallback { mMap.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener() { @Override public void onCameraChange(CameraPosition cameraPosition) { - if (cameraPosition.zoom > MAX_ZOOM) { - getMap().animateCamera(CameraUpdateFactory.zoomTo(MAX_ZOOM)); - } +// if (cameraPosition.zoom > MAX_ZOOM) { +// getMap().animateCamera(CameraUpdateFactory.zoomTo(MAX_ZOOM)); +// } if (cameraPosition.zoom < MIN_ZOOM) { getMap().animateCamera(CameraUpdateFactory.zoomTo(MIN_ZOOM)); } @@ -253,6 +257,16 @@ public class GmapFragment extends Fragment implements OnMapReadyCallback { if (ActivityCompat.checkSelfPermission(mainActivity, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(mainActivity, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { return; } + + updateLocationCircle(); + //add circle around user locaiton +// onMapCircle = mMap.addCircle(new CircleOptions() +// .center(new LatLng(gpsUtils.getLatitude(), gpsUtils.getLongitude())) +// .radius(locationFilterSelection) +// .fillColor(Utils.circleColor)); + + + mMap.setMyLocationEnabled(true); mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(userLocation, DEFAULT_ZOOM)); @@ -271,6 +285,16 @@ public class GmapFragment extends Fragment implements OnMapReadyCallback { } + private void updateLocationCircle() { + if(onMapCircle!=null){ + onMapCircle.remove(); + } + onMapCircle = mMap.addCircle(new CircleOptions() + .center(new LatLng(gpsUtils.getLatitude(), gpsUtils.getLongitude())) + .radius(locationFilterSelection) + .fillColor(Utils.circleColor)); + } + GoogleMap.InfoWindowAdapter infoWindowAdapter = new GoogleMap.InfoWindowAdapter() { // Use default InfoWindow frame @Override public View getInfoWindow(Marker args) { @@ -537,6 +561,7 @@ public class GmapFragment extends Fragment implements OnMapReadyCallback { map_medium_filter.setBackgroundResource(android.R.drawable.btn_default); map_large_filter.setBackgroundColor(Utils.filterColor); } + updateLocationCircle(); } else { locationFilter.setBackgroundResource(android.R.drawable.btn_default); } @@ -570,6 +595,7 @@ public class GmapFragment extends Fragment implements OnMapReadyCallback { } Log.d(TAG, "updateShowedNotes: ======= markers presented: "+ presentedNotes.size()+"============="); mMap.clear(); + updateLocationCircle(); new getMarkersFromNotes(mMap, eventMarkerMap).execute(presentedNotes); }