Page MenuHomeGitPull.it

D35.1783940665.diff
No OneTemporary

Authored By
Unknown
Size
5 KB
Referenced Files
None
Subscribers
None

D35.1783940665.diff

diff --git a/src/it/reyboz/bustorino/ActivityMap.java b/src/it/reyboz/bustorino/ActivityMap.java
--- a/src/it/reyboz/bustorino/ActivityMap.java
+++ b/src/it/reyboz/bustorino/ActivityMap.java
@@ -18,8 +18,14 @@
import org.osmdroid.util.BoundingBox;
import org.osmdroid.util.GeoPoint;
import org.osmdroid.views.MapView;
+import org.osmdroid.views.overlay.FolderOverlay;
import org.osmdroid.views.overlay.Marker;
+import org.osmdroid.views.overlay.Overlay;
import org.osmdroid.views.overlay.infowindow.InfoWindow;
+import org.osmdroid.views.overlay.mylocation.GpsMyLocationProvider;
+import org.osmdroid.views.overlay.mylocation.MyLocationNewOverlay;
+
+import java.util.List;
import it.reyboz.bustorino.backend.Stop;
import it.reyboz.bustorino.map.CustomInfoWindow;
@@ -27,8 +33,15 @@
public class ActivityMap extends AppCompatActivity {
+ private static final String TAG = "Busto-MapActivity";
+ private static final String MAP_CURRENT_ZOOM_KEY = "map-current-zoom";
+ private static final String MAP_CENTER_LAT_KEY = "map-center-lat";
+ private static final String MAP_CENTER_LON_KEY = "map-center-lon";
+
private static MapView map = null;
public Context ctx;
+ private MyLocationNewOverlay mLocationOverlay = null;
+ private FolderOverlay stopsFolderOverlay = null;
@RequiresApi(api = Build.VERSION_CODES.HONEYCOMB)
@Override public void onCreate(Bundle savedInstanceState) {
@@ -54,6 +67,9 @@
// add ability to zoom with 2 fingers
map.setMultiTouchControls(true);
+ //setup FolderOverlay
+ stopsFolderOverlay = new FolderOverlay();
+
// take the parameters if it's called from other Activities
Bundle b = getIntent().getExtras();
GeoPoint marker = null;
@@ -68,6 +84,8 @@
}
startMap(marker, name, ID);
+
+
// on drag and zoom reload the markers
map.addMapListener(new DelayedMapListener(new MapListener() {
@@ -103,6 +121,19 @@
map.setMinZoomLevel(15.5);
mapController.setCenter(startPoint);
+ // Location Overlay
+ // from OpenBikeSharing (THANK GOD)
+ GpsMyLocationProvider imlp = new GpsMyLocationProvider(this.getBaseContext());
+ imlp.setLocationUpdateMinDistance(200);
+ imlp.setLocationUpdateMinTime(30000);
+ this.mLocationOverlay = new MyLocationNewOverlay(imlp,map);
+ this.mLocationOverlay.enableMyLocation();
+ map.getOverlays().add(this.mLocationOverlay);
+
+ //add stops overlay
+ map.getOverlays().add(this.stopsFolderOverlay);
+
+
loadMarkers();
if (marker != null) {
// make a marker with the info window open for the searched marker
@@ -111,7 +142,7 @@
}
- public void makeMarker(GeoPoint geoPoint, String stopName, String ID, boolean isStartMarker) {
+ public Marker makeMarker(GeoPoint geoPoint, String stopName, String ID, boolean isStartMarker) {
// add a marker
Marker marker = new Marker(map);
@@ -152,8 +183,6 @@
// set its position
marker.setPosition(geoPoint);
marker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM);
- // display the marker
- map.getOverlays().add(marker);
// add to it an icon
marker.setIcon(getResources().getDrawable(R.drawable.bus_marker));
// add to it a title
@@ -166,12 +195,18 @@
marker.showInfoWindow();
}
+ return marker;
}
public void loadMarkers() {
// get rid of the previous markers
- map.getOverlays().clear();
+ //map.getOverlays().clear();
+ //stopsFolderOverlay = new FolderOverlay();
+ List<Overlay> stopsOverlays = stopsFolderOverlay.getItems();
+ if (stopsOverlays != null){
+ stopsOverlays.clear();
+ }
// get the top, bottom, left and right screen's coordinate
BoundingBox bb = map.getBoundingBox();
@@ -189,7 +224,8 @@
// add new markers of those stops
for (Stop stop : stops) {
GeoPoint marker = new GeoPoint(stop.getLatitude(), stop.getLongitude());
- makeMarker(marker, stop.getStopDefaultName(), stop.ID, false);
+ Marker stopMarker = makeMarker(marker, stop.getStopDefaultName(), stop.ID, false);
+ stopsFolderOverlay.add(stopMarker);
}
}
@@ -201,6 +237,7 @@
//SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
//Configuration.getInstance().load(this, PreferenceManager.getDefaultSharedPreferences(this));
map.onResume(); //needed for compass, my location overlays, v6.0.0 and up
+ mLocationOverlay.enableMyLocation();
}
public void onPause(){
@@ -210,5 +247,7 @@
//SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
//Configuration.getInstance().save(this, prefs);
map.onPause(); //needed for compass, my location overlays, v6.0.0 and up
+ mLocationOverlay.disableMyLocation();
}
+
}
\ No newline at end of file
diff --git a/src/it/reyboz/bustorino/middleware/AppLocationManager.java b/src/it/reyboz/bustorino/middleware/AppLocationManager.java
--- a/src/it/reyboz/bustorino/middleware/AppLocationManager.java
+++ b/src/it/reyboz/bustorino/middleware/AppLocationManager.java
@@ -51,7 +51,7 @@
private AppLocationManager(Context con) {
- this.con = con;
+ this.con = con.getApplicationContext();
locMan = (LocationManager) con.getSystemService(Context.LOCATION_SERVICE);
}

File Metadata

Mime Type
text/plain
Expires
Mon, Jul 13, 13:04 (5 h, 55 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1999697
Default Alt Text
D35.1783940665.diff (5 KB)

Event Timeline