private void showRouteStops(List<Stop> stops) { if (stops == null) { status.setText("Route stops could not be loaded"); // TODO why? status.setVisibility(View.VISIBLE); return; } Drawable drawable = getResources().getDrawable(R.drawable.marker); final StopsItemizedOverlay itemizedOverlay = new StopsItemizedOverlay(drawable, mapView); for (Stop stop : stops) { itemizedOverlay.addOverlay(new StopOverlayItem(stop)); } final List<Overlay> overlays = mapView.getOverlays(); overlays.add(itemizedOverlay); overlays.add(new RouteOverlayItem(stops)); mapView.postInvalidate(); routeStops = stops; if (selectedStop != null) { zoomMapToLocation( KnownStopLocationProviderService.makeLocationForSelectedStop( DistanceMeasuringService.findClosestOf( routeStops, KnownStopLocationProviderService.makeLocationForSelectedStop(selectedStop)))); } }
public void onLocationChanged(Location location) { Log.i( TAG, "Handset location update received: " + DistanceMeasuringService.makeLocationDescription(location)); status.setText("Location found: " + DistanceMeasuringService.makeLocationDescription(location)); status.setVisibility(View.VISIBLE); locationCircleOverlay.setPoint(location); mapView.postInvalidate(); if (currentLocation == null && routeStops != null) { zoomMapToLocation( KnownStopLocationProviderService.makeLocationForSelectedStop( DistanceMeasuringService.findClosestOf(routeStops, location))); currentLocation = location; } }