diff --git a/app/src/main/java/com/a1/nextlocation/data/Location.java b/app/src/main/java/com/a1/nextlocation/data/Location.java index 24422bb..8185aea 100644 --- a/app/src/main/java/com/a1/nextlocation/data/Location.java +++ b/app/src/main/java/com/a1/nextlocation/data/Location.java @@ -4,6 +4,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import org.jetbrains.annotations.NotNull; +import org.osmdroid.util.GeoPoint; public class Location { @@ -85,4 +86,8 @@ public class Location { return lat1 + "," + long1; } + public GeoPoint convertToGeoPoint() { + return new GeoPoint(this.getLat(),this.getLong()); + } + } diff --git a/app/src/main/java/com/a1/nextlocation/fragments/HomeFragment.java b/app/src/main/java/com/a1/nextlocation/fragments/HomeFragment.java index d6a06b4..9aa91d5 100644 --- a/app/src/main/java/com/a1/nextlocation/fragments/HomeFragment.java +++ b/app/src/main/java/com/a1/nextlocation/fragments/HomeFragment.java @@ -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,15 @@ public class HomeFragment extends Fragment { mLocationOverlay.enableMyLocation(); mapView.getOverlays().add(mLocationOverlay); + CustomOverlay customOverlay = new CustomOverlay(getResources().getDrawable(R.drawable.common_google_signin_btn_icon_dark),mapView); + GeoPoint p = new GeoPoint(51.49635644532748, 4.2862774306334686); + OverlayItem overlayItem = new OverlayItem("willys","doner",p); + + customOverlay.addOverlayItem(overlayItem); + mapView.getOverlays().add(customOverlay); + + + // add the zoom controller IMapController mapController = mapView.getController(); mapController.setZoom(15.0); diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/CustomOverlay.java b/app/src/main/java/com/a1/nextlocation/recyclerview/CustomOverlay.java new file mode 100644 index 0000000..ccf5fe1 --- /dev/null +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/CustomOverlay.java @@ -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 { + private final MapView mapView; + private ArrayList 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; + } +} diff --git a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationListManager.java b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationListManager.java index 9313e36..84e2eb9 100644 --- a/app/src/main/java/com/a1/nextlocation/recyclerview/LocationListManager.java +++ b/app/src/main/java/com/a1/nextlocation/recyclerview/LocationListManager.java @@ -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(); } + }