webentwicklung-frage-antwort-db.com.de

Fehler beim Aufblasen der Klasse com.google.Android.maps.MapView

ich folge nur einem einfachen Map-Tutorial http://developer.Android.com/resources/tutorials/views/hello-mapview.html , bekomme aber diesen Fehler. Ich bin neu bei Android. Ich habe versucht, die gesamte über das Internet bereitgestellte Lösung zu verfolgen, jedoch noch keinen Erfolg. Bitte hilf mir. Meine Haupt-.xml ist unten

<?xml version="1.0" encoding="utf-8"?>
<com.google.Android.maps.MapView
    xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:id="@+id/mapview"
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent"
    Android:clickable="true"
    Android:apiKey="***"
/>

und Manifestdatei ist das

18
zeshu

Ich hatte dieses Problem und löste es durch die folgenden 2 Schritte:

1) Fügen Sie die folgende Zeile in das application (wichtige) Element der AndroidManifest.xml-Datei ein.

<uses-library Android:name="com.google.Android.maps" />

2) Erweitern Sie MapActivity anstelle von Activity.

genießen!

51
Bobs

Haben Sie die Hauptklasse als MapActivity erweitert?

public class a extends MapActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

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

Ich hatte das gleiche Problem und ungefähr 3 Stunden lang suchte ich damit, um es zu beheben. Alles im Manifest.

1) In meinem Manifest war dieser Kodex nicht an der richtigen Stelle

    <uses-library Android:name="com.google.Android.maps" /> 

es sollte hier sein, unter

    <application>

so was

    <manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
     package="com.example.package.name">
      ...
      <application Android:name="MyApplication" >
        <uses-library Android:name="com.google.Android.maps" />
        ...
      </application>
      ...
    </manifest>

2) Ich habe irgendwo in meinem Manifest eine Zeit verloren

    <activity 
        Android:name="MyClass" //*****should be Android:name=".MyClass"***
        Android:label="@string/app_name" >
        <intent-filter>
            <action Android:name="Android.intent.action.MyClass />

            <category Android:name="Android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

3) Ich habe keine min-sdk-Version angegeben, die unter geht

    <manifest> 

code:

    <uses-sdk Android:minSdkVersion="7" />

4) Damit die Karte im Debug-Modus durch Eclipse funktioniert, befolgen Sie diese Anweisungen in Ihrem Befehl oder Terminal http://www.buzztouch.com/resources/Obtaining_a_Google_Maps_API_Key_v1.0.pdf

Ich hoffe das hilft jemandem

5
tricknology

Ich hatte das problem Erweitern Sie einfach MapActivity anstelle von Activity.

3
ManJan

Ich weiß, dass das Folgende nicht der Fehler des ursprünglichen Fragestellers war - aber da mein Problem zu der gleichen Fehlermeldung führte, dachte ich, ich könnte es genauso gut hinzufügen, falls jemand in der Zukunft darauf stößt.

Ich habe alle anderen guten Hinweise durchgesehen, aber in meinem Projekt fehlte nichts.

Was das Problem schließlich gelöst hat, war, dass ich vergessen habe, MapView im Layout einschließlich des vollständigen Paketnamens anzugeben. Weder Eclipse noch Lint haben mir davon erzählt:

<com.google.Android.maps.MapView
    ...
    />
1
sunadorer

Fügen Sie dies in Ihre XML-Deklaration von MapView ein

xmlns:Android="http://schemas.Android.com/apk/res/Android"
1
Jayson Tamayo

Der Emulator, auf dem Sie die Anwendung ausführen, verfügt nicht über Google Map Jar. So erstellen Sie den Emulator aus Google API führen Sie Ihre Anwendung dort aus.

Sehen Sie sich das Bild an, um einen Emulator mit Google API zu erstellen

enter image description here

1

um mit google maps zu arbeiten und das tag zu verwenden

<uses-library Android:name="com.google.Android.maps" /> 

verwenden Sie im Tag ein anderes Tag

<uses-permission Android:name="Android.permission.INTERNET"/>

innerhalb des Tags und du bist fertig.

Denken Sie jedoch daran, dass Sie diese Anwendung in der mit Google Inc. API kompatiblen AVD-Datei ausführen sollten, nicht jedoch mit der Android API.

Wichtig ist auch, dass Sie den MD5-API-Schlüssel anstelle von SHA1 oder eines anderen Protokoll-API-Schlüssels verwenden.

1
Chandra Sekhar

Diese Ausnahme wird auch dann erhalten, wenn alle oben genannten Schritte befolgt werden, jedoch kein API-Schlüssel für MapView angegeben ist. Fügen Sie einfach den api-key hinzu, den Sie von google erhalten haben

<com.google.Android.maps.MapView
        Android:id="@+id/mapview"
        Android:layout_width="fill_parent"
        Android:layout_height="fill_parent"
        Android:clickable="true" 
         Android:apiKey = "api-key_goes_here"
  >
0
Jeevan