2012-03-30 4 views
1

Ich habe zwei MapActivities, und die Map, die den aktuellen Standort des Benutzers verwendet, funktioniert hervorragend. Wenn ich versuche, die zweite MapActivity zu erstellen, die einen hartcodierten Breitengrad/Längengrad verwendet, stürzt sie ab, wenn MapController zum Zoomen animiert oder eingestellt wird. Mein Code ist wie folgt:MapController kann nicht ohne App-Absturz verwendet werden

package com.breckbus.app; 

import android.os.Bundle; 

import com.google.android.maps.GeoPoint; 
import com.google.android.maps.MapActivity; 
import com.google.android.maps.MapController; 
import com.google.android.maps.MapView; 

public class Yellowroute extends MapActivity { 
    MapController mControl; 
    GeoPoint GeoP; 
    MapView mapV; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     // TODO Auto-generated method stub 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.yellowroute); 

     mapV = (MapView) findViewById(R.id.yellowmapView); 

     mapV.displayZoomControls(true); 
     mapV.setBuiltInZoomControls(true); 

     double lat = 39.482547; 
     double longi = -106.047699; 

     GeoP = new GeoPoint((int) (lat * 1E6), (int) (longi * 1E6)); 

     mControl.animateTo(GeoP); 
     mControl.setZoom(13); 

     mapV.invalidate(); 
    } 

    @Override 
    protected boolean isRouteDisplayed() { 
     // TODO Auto-generated method stub 
     return false; 

    } 

} //end of map.java 

Wenn ich herausnehmen entweder mControl.animateTo (GEOP) oder mControl.setZoom (13) die App wird gut laufen. Aber, wenn ich entweder in verlassen, erhalte ich folgende:

http://imgur.com/t3eg7

Ich ziehe mir die Haare aus ... Keine Ahnung, was ich falsch mache?

+1

Können Sie uns die logcat Fehlermeldung – Martyn

Antwort

2

Ihr Controller ist null, müssen Sie eine Zeile hinzufügen es

mapV = (MapView) findViewById(R.id.yellowmapView); 
mControl = mapV.getController(); // < You need to add this line 
+0

Sie Sir geben instanziiert, sind ein Heiliger! Ich würde Ihnen eine positive Bewertung geben, aber ich habe noch nicht genug Ansehen. Danke noch einmal! – kbarnes