Merge develop into master #1
@@ -1,12 +1,135 @@
|
|||||||
[
|
[
|
||||||
{
|
{
|
||||||
"name": "kees kroket",
|
"name":"McDonald's Breda Karnemelkstraat",
|
||||||
"coordinates": "2.4654645,6.2342323",
|
"coordinates":"51.58596318905295,4.77586651481887",
|
||||||
"description": "lekkere patatjes"
|
"description":"McDonald's restaurant",
|
||||||
|
"imageUrl":"NULL"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name" : "locatie2",
|
"name":"Subway Karnemelkstraat 10 A, 1",
|
||||||
"coordinates": "3.65656,9.564564",
|
"coordinates":"51.58632782568612,4.775219531501114",
|
||||||
"description": "locatie 2"
|
"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"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -1,14 +1,12 @@
|
|||||||
package com.a1.nextlocation.data;
|
package com.a1.nextlocation.data;
|
||||||
|
|
||||||
import android.os.Parcel;
|
|
||||||
import android.os.Parcelable;
|
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.osmdroid.util.GeoPoint;
|
||||||
|
|
||||||
public class Location implements Parcelable {
|
public class Location {
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
private String name;
|
private String name;
|
||||||
@@ -34,25 +32,6 @@ public class Location implements Parcelable {
|
|||||||
this(name,getStringFromCoordinates(latCoord,longCoord),description,imageUrl);
|
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
|
@NotNull
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return name;
|
return name;
|
||||||
@@ -107,16 +86,8 @@ public class Location implements Parcelable {
|
|||||||
return lat1 + "," + long1;
|
return lat1 + "," + long1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public GeoPoint convertToGeoPoint() {
|
||||||
public int describeContents() {
|
return new GeoPoint(this.getLat(),this.getLong());
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void writeToParcel(Parcel dest, int flags) {
|
|
||||||
dest.writeString(name);
|
|
||||||
dest.writeString(coordinates);
|
|
||||||
dest.writeString(description);
|
|
||||||
dest.writeString(imageUrl);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ package com.a1.nextlocation.fragments;
|
|||||||
import android.Manifest;
|
import android.Manifest;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
|
import android.content.res.Resources;
|
||||||
import android.location.Location;
|
import android.location.Location;
|
||||||
import android.location.LocationManager;
|
import android.location.LocationManager;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
@@ -22,6 +23,7 @@ import androidx.fragment.app.Fragment;
|
|||||||
import com.a1.nextlocation.R;
|
import com.a1.nextlocation.R;
|
||||||
import com.a1.nextlocation.data.Route;
|
import com.a1.nextlocation.data.Route;
|
||||||
import com.a1.nextlocation.recyclerview.CouponListManager;
|
import com.a1.nextlocation.recyclerview.CouponListManager;
|
||||||
|
import com.a1.nextlocation.recyclerview.CustomOverlay;
|
||||||
import com.a1.nextlocation.recyclerview.LocationListManager;
|
import com.a1.nextlocation.recyclerview.LocationListManager;
|
||||||
import com.a1.nextlocation.recyclerview.RouteListManager;
|
import com.a1.nextlocation.recyclerview.RouteListManager;
|
||||||
|
|
||||||
@@ -29,6 +31,8 @@ import org.osmdroid.api.IMapController;
|
|||||||
import org.osmdroid.config.Configuration;
|
import org.osmdroid.config.Configuration;
|
||||||
import org.osmdroid.util.GeoPoint;
|
import org.osmdroid.util.GeoPoint;
|
||||||
import org.osmdroid.views.MapView;
|
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.CompassOverlay;
|
||||||
import org.osmdroid.views.overlay.compass.InternalCompassOrientationProvider;
|
import org.osmdroid.views.overlay.compass.InternalCompassOrientationProvider;
|
||||||
import org.osmdroid.views.overlay.mylocation.GpsMyLocationProvider;
|
import org.osmdroid.views.overlay.mylocation.GpsMyLocationProvider;
|
||||||
@@ -93,6 +97,21 @@ public class HomeFragment extends Fragment {
|
|||||||
mLocationOverlay.enableMyLocation();
|
mLocationOverlay.enableMyLocation();
|
||||||
mapView.getOverlays().add(mLocationOverlay);
|
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
|
// add the zoom controller
|
||||||
IMapController mapController = mapView.getController();
|
IMapController mapController = mapView.getController();
|
||||||
mapController.setZoom(15.0);
|
mapController.setZoom(15.0);
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -4,6 +4,8 @@ import android.content.Context;
|
|||||||
|
|
||||||
import com.a1.nextlocation.data.Location;
|
import com.a1.nextlocation.data.Location;
|
||||||
|
|
||||||
|
import org.osmdroid.util.GeoPoint;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@@ -30,4 +32,5 @@ public enum LocationListManager {
|
|||||||
LocationLoader locationLoader = new LocationLoader(this.context);
|
LocationLoader locationLoader = new LocationLoader(this.context);
|
||||||
this.locationList = locationLoader.load();
|
this.locationList = locationLoader.load();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,6 +5,6 @@
|
|||||||
android:viewportHeight="24"
|
android:viewportHeight="24"
|
||||||
android:tint="?attr/colorControlNormal">
|
android:tint="?attr/colorControlNormal">
|
||||||
<path
|
<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"/>
|
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>
|
</vector>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
<!-- Base application theme. -->
|
<!-- Base application theme. -->
|
||||||
<style name="Theme.NextLocation" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
|
<style name="Theme.NextLocation" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
||||||
<!-- Primary brand color. -->
|
<!-- Primary brand color. -->
|
||||||
<item name="colorPrimary">@color/purple_200</item>
|
<item name="colorPrimary">@color/purple_200</item>
|
||||||
<item name="colorPrimaryVariant">@color/purple_700</item>
|
<item name="colorPrimaryVariant">@color/purple_700</item>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||||
<!-- Base application theme. -->
|
<!-- Base application theme. -->
|
||||||
<style name="Theme.NextLocation" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
|
<style name="Theme.NextLocation" parent="Theme.MaterialComponents.DayNight.NoActionBar">
|
||||||
<!-- Primary brand color. -->
|
<!-- Primary brand color. -->
|
||||||
<item name="colorPrimary">@color/primaryColour</item>
|
<item name="colorPrimary">@color/primaryColour</item>
|
||||||
<!-- Secondary brand color. -->
|
<!-- Secondary brand color. -->
|
||||||
|
|||||||
Reference in New Issue
Block a user