added custom overlay
This commit is contained in:
@@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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 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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user