9
votes

Google Maps sur Android ne fonctionne pas sur l'application mais la démonstration va bien

Je ne peux pas obtenir Google Maps pour travailler sur mon application.

Je vois un écran vide; Aucune grille ne montre, seulement le logo Google et les boutons +/- zoom. p>

Ce que j'ai fait: strong> p>

    • J'ai l'API "Google Maps Android API V2" activé LI>
    • J'ai ajouté mon projet avec le projet de démonstration à la liste des informations d'identification de l'API sur Google Console Li>
    • J'ai également ajouté les autorisations requises pour Internet, emplacement, com.google.android.providers.gsf.permission.read_gservices. Li>
    • a même ajouté la permission "Maps_Receive" comme certains postes suggéré li>
    • a également ajouté le 'Meta-Data' Google_play_Services_version LI> ul>

      Étant donné que les démos travaillent, j'ai littéralement copié la multimmapdemoactivité et ses fichiers dans mon projet et essayé la carte d'ouverture, sans être en vain. P>

      Le problème peut être lié à Ce problème . Cependant, il semble qu'ils ne puissent pas obtenir de carte pour travailler du tout. P>

      Voici le peu intéressant que j'ai remarqué, je reçois généralement ceci: p> xxx pré> suivi de ce: p> xxx pré>

      • En outre, je ne sais pas si cela est pertinent, mais dès que je clique ici pour ouvrir la carte, ou cliquez sur la carte après son ouverture et affiche une vue vide, je vois ceci: p>

        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
        <uses-permission android:name="android.permission.WRITE_SETTINGS" />
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
        


7 commentaires

Cela semble être un problème de permission. Vérifiez que vous avez toutes les autorisations nécessaires dans le fichier manifeste.


J'ai ajouté les autorisations sur mon projet dans la modification


J'ai eu le même problème, mais je ne peux pas l'obtenir pour travailler sur le mode de débogage, c'est-à-dire une version inéditée.


Avez-vous remplacé la clé de la carte avec votre clé de clé map?


@Gaurav, oui déjà, triple vérifié et essayé avec différentes clés


@Hahn quand je développais des cartes pour mon application, je prenais une référence de AndroidHive.info/2013/08/Android-working-With-Google-Maps-v2 S'il vous plaît jeter un coup d'oeil. Peut-être que vous manquez quelque chose


Dans mon cas, le problème était l'utilisation de appliquidsuffix '.d' dans mon fichier de construction de gradle pour les constructions de débogage. Cela a transformé le nom du package de com.foo.bar vers com.foo.bar.d qui a invalidé ma clé API.


6 Réponses :


0
votes

Ce sont les autorisations dont vous avez besoin conformément à Google Documentation: < Pré> xxx

Je vous recommande d'inclure cela aussi: xxx


1 commentaires

Je viens d'ajouter la permission que j'ai, et oui, la fonctionnalité est également incluse



-3
votes

ajoutez ceux de votre fichier manifeste xxx

remplacer xxx.xxxx.xxxx avec nom de votre package


1 commentaires

J'ai ajouté la permission, même si ce n'est pas censé être nécessaire dans le V2. Toujours pas change.



1
votes

Qu'en est-il de votre clé Google? Cette ligne dans le fichier manifeste:

Je me débats également avec un tel comportement constamment. La première chose que vous souhaitez vérifier dans de telles situations est que votre clé du fichier debug.keystore est en effet celle que vous avez enregistrée avec Google. Cette clé sera utilisée lorsque vous avez débogué votre candidature localement.

Remarque, cependant, vous aurez besoin d'un autre fichier KeyStore lorsque vous publiez votre demande. Au moment de la signature, vous devez créer un autre keyStore et l'enregistrer aussi avec Google.


0 commentaires

2
votes

Vous devez ajouter votre empreinte digitale SHA1 à l'accès public d'API. Aller à Eclipse> Préférences. Android> Construire et copier votre empreinte par défaut Eclipse SHA1.

maintenant aller à https://console.developers.google.com Sélectionnez votre application, 'API et auth '>' Critings '> et cliquez sur "Edition autorisée" Applications Android' "Mettez votre SHA1 Firefirnt comme celui-ci:

xx: xx: xx: xx: xx ... xx; com.votre.pakage.app


2 commentaires

Ont déjà fait cela. En fait, j'ai essayé différentes clés (et ajouté leur SHA1 sur la console de Google). Le problème ne change même pas. Je suis coincé avec le même problème qu'avant ...


Y a-t-il un moyen de vérifier le SHA1 avec Android Studio?



3
votes

Il s'avère que j'avais lu des questions N-1 sur cette question ici. Enfin, après une recherche continue partout, je suis tombé sur la réponse ici par @jack. < / p>

Fondamentalement la ligne: "httpsurlconnection.setdefaultsslsocketfactory (...)" était le coupable de mon code. Je l'ai commenté et tout a bien fonctionné.

Remarque: je n'ai pas essayé de conserver la ligne de code et de le modifier pour que des cartes ne fonctionne pas encore. Si j'ai besoin / le faire, je posterai un commentaire.


1 commentaires

2 jours à la recherche d'une réponse et a ensuite vu cela! Merci beaucoup!



1
votes

J'ai aussi eu ce problème et je me fallais tellement d'heures pour la résoudre, enfin, j'ai fait ces étapes et cela a finalement fonctionné!

  • Faites les mêmes étapes que celle suivie ici https://developers.google.com/ Cartes / Documentation / Android / Démarrer
  • Utilisez l'empreinte de certificat de débogage Si vous testez votre projet au lieu du certificat de version que vous utilisez lorsque vous installez votre application dans le magasin Play Store.
  • n'oubliez pas d'ajouter la valeur de l'API Google et de remplacer "API_Value" avec elle.

  • Changez la cible de votre projet dans Google API: Projet> Propriétés> Android> Cible.

    J'espère que cela aide ..


0 commentaires