Commit e8b4bc8d authored by Sajal Narang's avatar Sajal Narang Committed by GitHub

Merge pull request #155 from pulsejet/maploc

Show user location on InstiMap
parents 7ad93948 6f5b90fa
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application <application
android:allowBackup="true" android:allowBackup="true"
......
...@@ -24,4 +24,9 @@ public class Constants { ...@@ -24,4 +24,9 @@ public class Constants {
public static final String BODY_LIST_JSON = "body_list_json"; public static final String BODY_LIST_JSON = "body_list_json";
public static final String LOGIN_MESSAGE = "Please login to continue!"; public static final String LOGIN_MESSAGE = "Please login to continue!";
/* Map */
public static final double MAP_Xn = 19.134417, MAP_Yn = 72.901229, MAP_Zn = 1757, MAP_Zyn = 501;
public static final double[] MAP_WEIGHTS_X = {-11.392001766454612, -36.31634553309953, 73.91269388324432, -24.14021153064087, 3.4508817531539115, -0.1462262375477863, 5.532505074667804, -1.542391995870977, 36.14211738142935};
public static final double[] MAP_WEIGHTS_Y = {0.09738953520399705, -4.519868444089616, 62.38493718381985, 16.664561869057696, -2.168377988768651, 0.0919143297622087, 0.32304266159540823, 0.21688067854428716, -12.81393255320748};
} }
...@@ -313,8 +313,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On ...@@ -313,8 +313,7 @@ public class MainActivity extends AppCompatActivity implements NavigationView.On
return; return;
case MY_PERMISSIONS_REQUEST_ACCESS_LOCATION: case MY_PERMISSIONS_REQUEST_ACCESS_LOCATION:
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
MapFragment mapFragment = new MapFragment(); MapFragment.getMainActivity().setupGPS();
updateFragment(mapFragment);
} else { } else {
Toast toast = Toast.makeText(MainActivity.this, "Need Permission", Toast.LENGTH_SHORT); Toast toast = Toast.makeText(MainActivity.this, "Need Permission", Toast.LENGTH_SHORT);
toast.show(); toast.show();
......
...@@ -81,6 +81,10 @@ public class Marker { ...@@ -81,6 +81,10 @@ public class Marker {
} }
public static int getColor(int group) { public static int getColor(int group) {
if (group == -10) {
return -10;
}
Integer[] yellowGroup = new Integer[] { HOSTELS }; Integer[] yellowGroup = new Integer[] { HOSTELS };
Integer[] blueGroup = new Integer[] { DEPARTMENTS, LABS, Integer[] blueGroup = new Integer[] { DEPARTMENTS, LABS,
HALLS_N_AUDITORIUMS }; HALLS_N_AUDITORIUMS };
......
...@@ -58,6 +58,7 @@ public class CampusMapView extends SubsamplingScaleImageView { ...@@ -58,6 +58,7 @@ public class CampusMapView extends SubsamplingScaleImageView {
private Bitmap yellowLockedMarker; private Bitmap yellowLockedMarker;
private Bitmap greenLockedMarker; private Bitmap greenLockedMarker;
private Bitmap grayLockedMarker; private Bitmap grayLockedMarker;
private Bitmap userMarker;
private float pointerWidth = 12; private float pointerWidth = 12;
private float highlightedMarkerScale; private float highlightedMarkerScale;
private Paint paint; private Paint paint;
...@@ -190,6 +191,11 @@ public class CampusMapView extends SubsamplingScaleImageView { ...@@ -190,6 +191,11 @@ public class CampusMapView extends SubsamplingScaleImageView {
(int) w, (int) h, true); (int) w, (int) h, true);
grayLockedMarker = Bitmap.createScaledBitmap(grayLockedMarker, (int) w, grayLockedMarker = Bitmap.createScaledBitmap(grayLockedMarker, (int) w,
(int) h, true); (int) h, true);
userMarker = BitmapFactory.decodeResource(getResources(),
drawable.marker_red_s, options);
userMarker = Bitmap.createScaledBitmap(userMarker, (int) w,
(int) h, true);
} }
private void initPaints() { private void initPaints() {
...@@ -541,7 +547,10 @@ public class CampusMapView extends SubsamplingScaleImageView { ...@@ -541,7 +547,10 @@ public class CampusMapView extends SubsamplingScaleImageView {
markerBitmap = grayMarker; markerBitmap = grayMarker;
if (isAddedMarker(marker)) if (isAddedMarker(marker))
markerBitmap = grayLockedMarker; markerBitmap = grayLockedMarker;
} } else if (color == -10) {
if (isAddedMarker(marker))
markerBitmap = userMarker;
}
if (highlightedMarkerScale != 1.0f && isResultMarker(marker)) { if (highlightedMarkerScale != 1.0f && isResultMarker(marker)) {
float w = markerBitmap.getWidth() * highlightedMarkerScale; float w = markerBitmap.getWidth() * highlightedMarkerScale;
...@@ -736,26 +745,10 @@ public class CampusMapView extends SubsamplingScaleImageView { ...@@ -736,26 +745,10 @@ public class CampusMapView extends SubsamplingScaleImageView {
return scale; return scale;
} }
// public void setAddedMarkers(String addedMarkerString) { @Override
// addedMarkerList = new ArrayList<Marker>(); public boolean onTouchEvent(MotionEvent event) {
// String[] addedMarkerNames = addedMarkerString.split("###"); MapFragment.getMainActivity().setFollowingUser(false);
// for (String s : addedMarkerNames) { return super.onTouchEvent(event);
// if (!s.equals("")) { }
// Log.d("test123","names = " + s);
// if (data.containsKey(s)) {
// addedMarkerList.add(data.get(s));
// }
// }
// }
// }
//
// public String getAddedMarkerString() {
// String s = "";
// for (Marker m : addedMarkerList) {
// s = s + m.name + "###";
// }
// Log.d("test123","addedMarkerStringGen = " + s);
// return s;
// }
} }
...@@ -140,10 +140,10 @@ ...@@ -140,10 +140,10 @@
</LinearLayout> </LinearLayout>
<RelativeLayout <RelativeLayout
android:id="@+id/loadingPanel"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:gravity="center"> android:gravity="center"
android:id="@+id/loadingPanel">
<ProgressBar <ProgressBar
android:layout_width="wrap_content" android:layout_width="wrap_content"
...@@ -151,4 +151,20 @@ ...@@ -151,4 +151,20 @@
android:indeterminate="true" /> android:indeterminate="true" />
</RelativeLayout> </RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.FloatingActionButton
android:id="@+id/locate_fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="96dp"
android:layout_marginRight="8dp"
android:src="@drawable/ic_my_location_black_24dp"
android:tint="@android:color/black" />
</RelativeLayout>
</FrameLayout> </FrameLayout>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment