Merge branch 'develop' into RecyclerView

# Conflicts:
#	app/src/main/java/com/a1/nextlocation/data/Location.java
This commit is contained in:
RemoMeijer
2020-12-17 14:56:15 +01:00
8 changed files with 200 additions and 42 deletions

View File

@@ -1,12 +1,135 @@
[
{
"name": "kees kroket",
"coordinates": "2.4654645,6.2342323",
"description": "lekkere patatjes"
"name":"McDonald's Breda Karnemelkstraat",
"coordinates":"51.58596318905295,4.77586651481887",
"description":"McDonald's restaurant",
"imageUrl":"NULL"
},
{
"name" : "locatie2",
"coordinates": "3.65656,9.564564",
"description": "locatie 2"
"name":"Subway Karnemelkstraat 10 A, 1",
"coordinates":"51.58632782568612,4.775219531501114",
"description":"4811 KJ Breda",
"imageUrl":"NULL"
},
{
"name":"Wok To Go Halstraat 40",
"coordinates":"51.58650312572897,4.777467069592386",
"description":"4811HX Breda",
"imageUrl":"NULL"
},
{
"name":"De Boterhal Grote Markt 19",
"coordinates":"51.588069667604756,4.7762685632180695",
"description":"4811XL Breda",
"imageUrl":"NULL"
},
{
"name":"Gauchos Grote Markt 33",
"coordinates":"51.58859328857082,4.77601349563689",
"description":"4811XP Breda",
"imageUrl":"NULL"
},
{
"name":"The Tosti Club Breda A4, Vlaszak 2",
"coordinates":"51.58905632735254,4.780729463841719",
"description":"4811GR Breda",
"imageUrl":"NULL"
},
{
"name":"Coffee & Lunch 4 you Oude Vest 31",
"coordinates":"51.58741730235298,4.779832967540571",
"description":"4811HS Breda",
"imageUrl":"NULL"
},
{
"name":"t Zusje Breda Vismarktstraat 28",
"coordinates":"51.590133292554434,4.773911506170458",
"description":"4811WE Breda",
"imageUrl":"NULL"
},
{
"name":"VR-World Nassaustraat 2",
"coordinates":"51.5913566342086,4.786256804321071",
"description":"4811DD Breda",
"imageUrl":"NULL"
},
{
"name":"Kees Kroket Houtmarkt 9",
"coordinates":"51.58647180329833,4.77741809637617",
"description":"KEEEEES KROKET!",
"imageUrl":"NULL"
},
{
"name":"Prison Escape Kloosterlaan 168",
"coordinates":"51.59073795635181,4.784917104321059",
"description":"4811EE Breda",
"imageUrl":"NULL"
},
{
"name":"De Koepel - FutureDome Events Nassausingel 26",
"coordinates":"51.590431588532105,4.786756741648511",
"description":"4811HP Breda",
"imageUrl":"NULL"
},
{
"name":"Escaping Breda: Escape Room Games Boschstraat 114",
"coordinates":" 51.59110835530862,4.784147222780912",
"description":"4811GK Breda",
"imageUrl":"NULL"
},
{
"name":"MEZZ Breda Keizerstraat 101",
"coordinates":"51.58394697737321,4.779757901349616",
"description":"4811HL Breda",
"imageUrl":"NULL"
},
{
"name":"Het Klooster Breda Schorsmolenstraat 13",
"coordinates":"51.58775443759389,4.765568874365066",
"description":"4811VN Breda",
"imageUrl":"NULL"
},
{
"name":"Beach & Lounge club Spider “rooftop bar” Nieuwe Prinsenkade",
"coordinates":"51.59212977605884,4.774043765582372",
"description":"4811VC Breda",
"imageUrl":"NULL"
},
{
"name":"Koningin Wilhelmina Paviljoen Kraanstraat 4b",
"coordinates":"51.590645369292396,4.776045124415531",
"description":"4811XV Breda",
"imageUrl":"NULL"
},
{
"name":"Hercules en de Nemeïsche leeuw",
"coordinates":"51.59130522182325,4.778161739135078",
"description":"4811XJ Breda",
"imageUrl":"NULL"
},
{
"name":"Nassau-Baroniemonument - 1905 - Pierre Cuypers Delpratsingel 1",
"coordinates":"51.592530636759136,4.780278353833301",
"description":"4811AM Breda",
"imageUrl":"NULL"
},
{
"name":"Station Breda Gravinnen van Nassauboulevard 43",
"coordinates":"51.59569850758307,4.780295549958155",
"description":"4815CA Breda",
"imageUrl":"NULL"
},
{
"name":"Belcrum Beach Veilingkade 12a",
"coordinates":"51.599434239284726,4.76632797992092",
"description":"4815HC Breda",
"imageUrl":"NULL"
},
{
"name":"De Belcrum Watertoren (1935) Speelhuislaan 158",
"coordinates":"51.60135351009892,4.7705765989322755",
"description":"4815CJ Breda",
"imageUrl":"NULL"
}
]

View File

@@ -1,14 +1,12 @@
package com.a1.nextlocation.data;
import android.os.Parcel;
import android.os.Parcelable;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.jetbrains.annotations.NotNull;
import org.osmdroid.util.GeoPoint;
public class Location implements Parcelable {
public class Location {
@NonNull
private String name;
@@ -34,25 +32,6 @@ public class Location implements Parcelable {
this(name,getStringFromCoordinates(latCoord,longCoord),description,imageUrl);
}
protected Location(Parcel in) {
name = in.readString();
coordinates = in.readString();
description = in.readString();
imageUrl = in.readString();
}
public static final Creator<Location> CREATOR = new Creator<Location>() {
@Override
public Location createFromParcel(Parcel in) {
return new Location(in);
}
@Override
public Location[] newArray(int size) {
return new Location[size];
}
};
@NotNull
public String getName() {
return name;
@@ -107,16 +86,8 @@ public class Location implements Parcelable {
return lat1 + "," + long1;
}
@Override
public int describeContents() {
return 0;
public GeoPoint convertToGeoPoint() {
return new GeoPoint(this.getLat(),this.getLong());
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
dest.writeString(coordinates);
dest.writeString(description);
dest.writeString(imageUrl);
}
}

View File

@@ -5,6 +5,7 @@ package com.a1.nextlocation.fragments;
import android.Manifest;
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.res.Resources;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
@@ -22,6 +23,7 @@ import androidx.fragment.app.Fragment;
import com.a1.nextlocation.R;
import com.a1.nextlocation.data.Route;
import com.a1.nextlocation.recyclerview.CouponListManager;
import com.a1.nextlocation.recyclerview.CustomOverlay;
import com.a1.nextlocation.recyclerview.LocationListManager;
import com.a1.nextlocation.recyclerview.RouteListManager;
@@ -29,6 +31,8 @@ import org.osmdroid.api.IMapController;
import org.osmdroid.config.Configuration;
import org.osmdroid.util.GeoPoint;
import org.osmdroid.views.MapView;
import org.osmdroid.views.overlay.Overlay;
import org.osmdroid.views.overlay.OverlayItem;
import org.osmdroid.views.overlay.compass.CompassOverlay;
import org.osmdroid.views.overlay.compass.InternalCompassOrientationProvider;
import org.osmdroid.views.overlay.mylocation.GpsMyLocationProvider;
@@ -93,6 +97,21 @@ public class HomeFragment extends Fragment {
mLocationOverlay.enableMyLocation();
mapView.getOverlays().add(mLocationOverlay);
CustomOverlay customOverlay = new CustomOverlay(getResources().getDrawable(R.drawable.ic_baseline_location_on_24),mapView);
for (com.a1.nextlocation.data.Location l : LocationListManager.INSTANCE.getLocationList()) {
GeoPoint p = new GeoPoint(l.getLat(), l.getLong());
OverlayItem overlayItem = new OverlayItem(l.getName(),l.getDescription(), p);
customOverlay.addOverlayItem(overlayItem);
Log.d(TAG, "initMap: " + "succes");
}
mapView.getOverlays().add(customOverlay);
// add the zoom controller
IMapController mapController = mapView.getController();
mapController.setZoom(15.0);

View File

@@ -0,0 +1,42 @@
package com.a1.nextlocation.recyclerview;
import android.graphics.Point;
import android.graphics.drawable.Drawable;
import org.osmdroid.api.IMapView;
import org.osmdroid.views.MapView;
import org.osmdroid.views.overlay.ItemizedOverlay;
import org.osmdroid.views.overlay.OverlayItem;
import java.util.ArrayList;
public class CustomOverlay extends ItemizedOverlay<OverlayItem> {
private final MapView mapView;
private ArrayList<OverlayItem> overlayItems = new ArrayList<>();
public CustomOverlay(Drawable pDefaultMarker, MapView mapView) {
super(pDefaultMarker);
this.mapView = mapView;
}
public void addOverlayItem(OverlayItem item) {
overlayItems.add(item);
populate();
}
@Override
protected OverlayItem createItem(int i) {
return overlayItems.get(i);
}
@Override
public int size() {
return overlayItems.size();
}
@Override
public boolean onSnapToItem(int x, int y, Point snapPoint, IMapView mapView) {
return true;
}
}

View File

@@ -4,6 +4,8 @@ import android.content.Context;
import com.a1.nextlocation.data.Location;
import org.osmdroid.util.GeoPoint;
import java.util.ArrayList;
import java.util.List;
@@ -30,4 +32,5 @@ public enum LocationListManager {
LocationLoader locationLoader = new LocationLoader(this.context);
this.locationList = locationLoader.load();
}
}

View File

@@ -5,6 +5,6 @@
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:fillColor="@color/primaryColour"
android:pathData="M12,2C8.13,2 5,5.13 5,9c0,5.25 7,13 7,13s7,-7.75 7,-13c0,-3.87 -3.13,-7 -7,-7zM12,11.5c-1.38,0 -2.5,-1.12 -2.5,-2.5s1.12,-2.5 2.5,-2.5 2.5,1.12 2.5,2.5 -1.12,2.5 -2.5,2.5z"/>
</vector>

View File

@@ -1,6 +1,6 @@
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.NextLocation" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<style name="Theme.NextLocation" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/purple_200</item>
<item name="colorPrimaryVariant">@color/purple_700</item>

View File

@@ -1,6 +1,6 @@
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Theme.NextLocation" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
<style name="Theme.NextLocation" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Primary brand color. -->
<item name="colorPrimary">@color/primaryColour</item>
<!-- Secondary brand color. -->