2016-07-06 18 views
1

Ich teste gerade die Google Maps-Funktion auf Android mit CodenameOne aus. Wenn ich die App im Simulator öffne, lädt die App, aber wenn ich sie auf ein altes Android-Telefon lade, wird sie einfach in einen leeren weißen Bildschirm geladen (mit dem kleinen Google-Logo in der unteren Ecke). Auch die reguläre Google Maps App auf dem Telefon selbst funktioniert einwandfrei. Was könnte ich falsch machen?Android-Handy zeigt keine Karte an (nur leere Karte)

Der Code in meiner einzigen Klasse ist wie folgt:

package com.example.willheard27.maptest 

import com.codename1.googlemaps.MapContainer; 
import com.codename1.maps.Coord; 
import com.codename1.ui.Command; 
import com.codename1.ui.Dialog; 
import com.codename1.ui.Display; 
import com.codename1.ui.EncodedImage; 
import com.codename1.ui.Form; 
import com.codename1.ui.events.ActionEvent; 
import com.codename1.ui.events.ActionListener; 
import com.codename1.ui.layouts.BorderLayout; 
import com.codename1.ui.plaf.UIManager; 
import com.codename1.ui.util.Resources; 
import java.io.IOException; 

public class MainClass { 

private Form current; 

public void init(Object context) { 
    try { 
     Resources theme = Resources.openLayered("/theme"); 
     UIManager.getInstance().setThemeProps(theme.getTheme(theme.getThemeResourceNames()[0])); 
    } catch(IOException e){ 
     e.printStackTrace(); 
    } 
} 

public void start() { 
    if(current != null){ 
     current.show(); 
     return; 
    } 
    Form hi = new Form(); 
    hi.setLayout(new BorderLayout()); 
    final MapContainer cnt = new MapContainer(); 
    hi.addComponent(BorderLayout.CENTER, cnt); 

    hi.show(); 
} 

public void stop() { 
    current = Display.getInstance().getCurrent(); 
} 

public void destroy() { 

} 

} 
+0

Dies ist immer ein API-Schlüsselproblem. Suchen Sie in den Protokollen nach einem Fehler im Zusammenhang mit dem API-Schlüssel. –

+0

Wenn Sie App in Telefon ausführen, dann war es im Debug-Modus oder Sie führen signierte APK? – Beena

Antwort

0

<meta-data 
    android:name="com.google.android.maps.v2.API_KEY" 
    android:value="Your api key" /> 
<meta-data 
    android:name="com.google.android.gms.version" 
    android:value="@integer/google_play_services_version" /> 

über api Schlüssel in Manifest-Datei Stellen Sie sicher, und das sollte valide sein. Sie können es von der Google Developer Console Seite bekommen.

0

Stellen Sie sicher, dass der API-Schlüssel in den Build-Hinweisen korrekt definiert ist, wie auf der Projektseite erläutert.

Stellen Sie sicher, dass der Zertifikatsschlüssel auch im Abschnitt google Cloud console zum Aktivieren von V2-Karten definiert ist.

Stellen Sie sicher, dass Sie ein Zertifikat erstellen, das für diesen Fall erforderlich ist.

Wenn immer noch ein Problem auftritt, verbinden Sie das Gerät über ein Kabel und starten Sie das DDMS-Tool vom Android SDK. Sie sollten eine Ausgabe des SHA1-Werts und der Paketnamen sehen, die sicherstellen, dass sie mit den Werten in Ihren Google Cloud Console-Einträgen übereinstimmen.

Verwandte Themen