1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. mido86, 09.03.2011 #1
    mido86

    mido86 Threadstarter Neuer Benutzer

    hallo,

    ich versuche gerade eine GPS-Tracking app (in vereinfachter version) aufzubauen.

    1.Jedoch habe ich Probleme beim Test auf nem realen Android-Handy beim Positions update, mal wird die aktuelle korrekte Position kurz angezeigt, dann geht Sie wieder verloren.
    Im Emulator funzt das theoretisch alles.

    2. Das nächste Problem ist das ich versuche die strecke (bzw punkte) nach zu zeichnen die ich laufe.
    Ich versuche das von punkt zu punkt zu machen, was bei mir schon direkt zum App absturz führt.
    Da liegt wahrscheinlich ein denk fehler bei mir, vlt sieht ihn jemand.

    Code:
    
       MapView mapView;
    	MapController mapController;
    	[COLOR=darkred]private[/COLOR] LocationManager mLocationManager;
    	[COLOR=darkred]private[/COLOR] MyLocationOverlay mMyOverlay;
    	[COLOR=darkred]private[/COLOR] GeoKontaktOverlay mMapViewOverlay;
    	[COLOR=darkred]public[/COLOR] GeoPoint oldPos;
    	[COLOR=darkred]public[/COLOR] GeoPoint aktPos;
    	[COLOR=darkred]public[/COLOR] Point oldPunkt;
    	[COLOR=darkred]public[/COLOR] Point aktPunkt;
    	List<Overlay> mapOverlays;
    
    	@Override
    	[COLOR=darkred]protected[/COLOR] [COLOR=darkred]void[/COLOR] onPause() {
    		mMyOverlay.disableMyLocation();
    		mapView.getOverlays().remove(mMyOverlay);
    		mLocationManager.removeUpdates(mMyOverlay);
    		mMyOverlay.disableCompass();
    		[COLOR=darkred]super[/COLOR].onPause();
    	}
    	
    	@Override
    	[COLOR=darkred]protected[/COLOR] [COLOR=darkred]void[/COLOR] onResume() {
    		[COLOR=darkred]super[/COLOR].onResume();
    		mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000L, [COLOR=darkorange]500[/COLOR].0f, mMyOverlay);
    		
    		mapView.getOverlays().add(mMyOverlay);
    		mMyOverlay.enableMyLocation();
    		mMyOverlay.enableCompass();
    		[COLOR=green]//mapView.invalidate();[/COLOR]
    		
    		mMapViewOverlay = [COLOR=darkred]new[/COLOR] GeoKontaktOverlay();
    		mapView.getOverlays().add(mMapViewOverlay);
    		mapView.invalidate();
    		
    		
    		mMyOverlay.runOnFirstFix([COLOR=darkred]new[/COLOR] Runnable() {
    			
    			@Override
    			[COLOR=darkred]public[/COLOR] [COLOR=darkred]void[/COLOR] run() {
    				
    				mapController.animateTo(mMyOverlay.getMyLocation());
    			}
    			
    		});
    	}
    
    
    	@Override
    	[COLOR=darkred]public[/COLOR] [COLOR=darkred]void[/COLOR] onCreate(Bundle savedInstanceState) {
        	[COLOR=darkred]super[/COLOR].onCreate(savedInstanceState);
        	setContentView(R.layout.main);
    
        	mapView = (MapView) findViewById(R.id.mapview);
        	mapView.setBuiltInZoomControls([COLOR=darkred]true[/COLOR]);
        	mapController = mapView.getController();
        	mapController.setZoom([COLOR=darkorange]18[/COLOR]);
        	
    		mMyOverlay = [COLOR=darkred]new[/COLOR] MyLocationOverlay([COLOR=darkred]this[/COLOR], mapView) {
    			
    			[COLOR=darkred]public[/COLOR] [COLOR=darkred]synchronized[/COLOR] [COLOR=darkred]void[/COLOR] onLocationChanged(Location location) {
    					[COLOR=darkred]super[/COLOR].onLocationChanged(location);
    					
    			    	oldPos = mMyOverlay.getMyLocation();
    	 		    	[COLOR=darkred]final[/COLOR] GeoPoint mypoint = [COLOR=darkred]new[/COLOR]  GeoPoint(([COLOR=darkred]int[/COLOR])(location.getLatitude() * 1E6),  ([COLOR=darkred]int[/COLOR])(location.getLongitude() * 1E6));
    			    	aktPos = mypoint;
    			    	mapController.animateTo(mypoint);
    				}
    			
    		};
    		
    		
    		mMapViewOverlay = [COLOR=darkred]new[/COLOR] GeoKontaktOverlay();
        	
        	
        	mLocationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
    		mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000L, [COLOR=darkorange]3[/COLOR].0f, mMyOverlay);
    
    	}
    
    [COLOR=darkred]private[/COLOR] [COLOR=darkred]class[/COLOR] GeoKontaktOverlay [COLOR=darkred]extends[/COLOR] Overlay {
    
    		  [COLOR=green]//final RectF mRect = new RectF();[/COLOR]
    		  [COLOR=darkred]final[/COLOR] Paint mPaint = [COLOR=darkred]new[/COLOR] Paint();
    
    		@Override
    		[COLOR=darkred]public[/COLOR] [COLOR=darkred]void[/COLOR] draw(Canvas canvas, MapView mapView, [COLOR=darkred]boolean[/COLOR] shadow) {
    			[COLOR=green]//super.draw(canvas, mapView, shadow);[/COLOR]
    
    			oldPunkt = [COLOR=darkred]new[/COLOR] Point();
    			aktPunkt = [COLOR=darkred]new[/COLOR] Point();
    			
    			mapView.getProjection().toPixels(oldPos, oldPunkt) ;
    			mapView.getProjection().toPixels(aktPos, aktPunkt);
    				  
    			canvas.drawLine(aktPunkt.x, aktPunkt.y,oldPunkt.x, oldPunkt.y, mPaint);
    			
    			[COLOR=darkred]super[/COLOR].draw(canvas, mapView, shadow);
    		}
    	}
    
    	@Override
    	[COLOR=darkred]protected[/COLOR] [COLOR=darkred]boolean[/COLOR] isRouteDisplayed() {
    		[COLOR=darkred]return[/COLOR] [COLOR=darkred]false[/COLOR];
    	}
    
    
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Automatisierung Android TV Box Android App Entwicklung Montag um 21:46 Uhr
Android App mit Raspberry Pi über Bluetooth verbinden Android App Entwicklung Samstag um 14:20 Uhr
Integer-Wert übertragen auf zweite Activity Android App Entwicklung Freitag um 15:59 Uhr
[OFFEN] APP Baukasten oder individuell? Android App Entwicklung 10.11.2017
[OFFEN] Webview Cache funktioniert nicht Android App Entwicklung 31.10.2017
[OFFEN] Feedback Text für die App auf Server Hochladen Android App Entwicklung 28.10.2017
[OFFEN] Android Studio 4 Knöpfe nebeneinander Android App Entwicklung 17.10.2017
[OFFEN] Android app selber entwickeln mit Bluetooth Android App Entwicklung 13.10.2017
[ERLEDIGET] App über href starten Android App Entwicklung 28.09.2017
Du betrachtest das Thema "Android GPS-Tracking App: Positionsupdate funktioniert nicht richtig + probleme bei d" im Forum "Android App Entwicklung",