Android - Google Maps API v2 - SupportMapFragment Erreurs
Je suis en train d'essayer d'obtenir l'une de mes applications en arrière et en cours d'exécution avec l'API Google Maps v2 pour la première fois. J'ai créé une clé pour mon appli dans mon fichier de clés, extrait du hash SHA1, a acquis une clé API, puis a fait le suivant dans l'application... j'ai inclus:
google-play-services.jar
ainsi que l'importation de la GooglePlayServices libraryand l'ajout d'une référence pour le projet. Dans mon code Java j'ai simplement il suffit de charger la mise en page de ressources.
public class Times extends Activity{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map);
}
}
Dans la mise en page (res/layout/map.xml) que j'essaie d'instancier j'ai:
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
J'ai aussi la déclarées ci-après dans mon manifeste:
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="tinyTech.us.ua.busschedule.permission.MAPS_RECEIVE" />
<permission
android:name="tinyTech.us.ua.busschedule.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
Et déclaré dans la balise Application du manifeste:
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="My_API_Key" />
Lorsque l'activité est chargé, il se bloque avec les erreurs suivantes dans le LogCat:
FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
at com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)
J'ai essayé de faire des recherches le problème, toutefois, j'ai été incapable de trouver ce que je cherche. Toute aide est grandement appréciée.
Caused by: java.lang.ClassCastException: com.google.android.gms.maps.SupportMapFragment cannot be cast to android.app.Fragment
oui, parce qu'il est l'aide de l'Activité non FragmentActivity comme classe de base pour ses activités et vous pouvez le trouver dans ma réponse 🙂
OriginalL'auteur Matt Clark | 2012-12-05
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'étendre
FragmentActivity
si vous utilisezSupportMapFragment
.Si vous utilisez le
MapFragment
vous pouvez étendreActivity
.OriginalL'auteur Paul Wein
Dans votre mise en page, l'utilisation
au lieu de
OriginalL'auteur Rodion Altshuler
Vous devez faire ceci:
OriginalL'auteur Jovan
Cela a fonctionné pour moi: https://stackoverflow.com/a/13744765/1215098
Semble que vous ayez à ajouter Google Play services en tant que module, et pas seulement comme .jar
OriginalL'auteur uncle Lem
J'ai résolu cette erreur en cochant "Copie des projets dans l'espace de travail" lors de l'importation du Google Play Services lib.
Plus d'infos ici: http://developer.android.com/google/play-services/setup.html
OriginalL'auteur Umberto
j'ai eu le même problème avec Google Play Services et tout.. j'ai inclus une bibliothèque et tout, et le problème persiste ("ne pouvait pas trouver com.google.android.gms.cartes.suportmapfragment")..
j'ai été en mesure de le réparer par:
Allez les Propriétés du Projet. Alors
sélectionnez Java Build Path.
Ensuite, Sélectionnez de l'Ordre et de l'Exportation onglet.
ensuite,
Assurez-vous de vérifier la Android Dépendances et Android Bibliothèques Privées
Espère que cela aide 🙂
OriginalL'auteur Omar B.
J'ai ajouté
<uses-library android:name="com.google.android.maps" />
dans le fichier manifeste.Cela a fonctionné pour moi!
OriginalL'auteur LuZa
Je pense que j'ai eu le même problème, il semble que les versions plus récentes, vous devez ajouter cette ligne dans le manifeste
OriginalL'auteur fire_at_rivky
Mon cas, j'ai ajouté:
Fichier -> New -> Google -> Google Maps Activité
Et j'ai suivi ce tutoriel.
OriginalL'auteur William