4
votes

La carte Google en flutter n'apparaît pas

J'essaye de suivre ce tutoriel " https://medium.com/flutter-io/google-maps-and-flutter-cfb330f9a245 " pour ajouter google map en flutter. J'ai mis à jour le manifeste Android avec la clé google map et ajouté une autorisation pour accéder à fine_location.J'obtiens un écran blanc sur mon émulateur sans carte. J'ai passé de nombreuses heures à essayer de le réparer mais en vain. J'ai également essayé l'exemple d'utilisation avec le plugin " https://pub.dartlang.org/packages/google_maps_flutter#-readme-tab- " mais rien n'aide à montrer la carte. Toute aide est appréciée, merci d'avance


9 commentaires

I get white screen on my emulator with no map - s'agit-il uniquement d'une carte sur tout l'écran ou votre application se bloque-t-elle? Et vous devrez ajouter une option de paiement avant d'utiliser l'API Google Maps, une seule demande par jour est gratuite.


J'ai deux boutons flottants avec. ils apparaissent mais seule la section avec google map ne montre rien.


Il vaut mieux publier du code ou des traces de pile.


Je n'ai pas écrit de code car il est identique à ce tutoriel " medium.com/flutter-io/google-maps-and-flutter-cfb330f9a245 "


Veuillez montrer votre code, il doit y avoir une erreur que vous avez faite lors du codage. Vérifiez à nouveau votre clé API, vérifiez que votre émulateur dispose d'une connexion Internet.


J'ai essayé la même chose il y a 2 jours et montre toujours l'écran blanc dans google map, mais cela fonctionne bien pour Java Script car il montre la carte dans le navigateur que j'ai vérifié avec l'exemple de base. J'ai vérifié que les API Android et Ios sont activées. mais toujours le même écran blanc à la place de la carte


je reçois la même chose. @TuttaFM avez-vous résolu le problème?


@mmc, dans ce tutoriel non, même pas avec l'exemple dans le fichier read me dans le plugin. Je trouve un autre moyen pour la carte et cela fonctionne bien pour moi. Je le posterai ici comme réponse temporaire pour les autres.


Ne travaille pas pour moi. Écran blanc / gris Sam. J'ai l'icône de position et si j'utilise le code Fatimas ci-dessous, j'obtiens un marqueur à l'écran. J'ai essayé l'émulateur iOS et Android et aussi sur mon appareil iOS. Même résultat. J'ai essayé avec le code suggéré par la documentation ( pub.dev/packages/google_maps_flutter#-installing-tab- ) et même résultat. Des suggestions pour résoudre ce problème?


13 Réponses :


1
votes

En fait, je n'ai trouvé aucune réponse grâce à ma recherche de problèmes dans le didacticiel ci-dessus. Je trouve un autre moyen pour la carte et cela fonctionne bien avec mon donc je le posterai, car cela peut aider les autres. vous devez 1- l'ajouter dans pubspec.yaml pour obtenir le plugin. 2- ajoutez la clé pour Android et Ios 3- ajoutez ce code dans main.

import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';

void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  GoogleMapController myMapController;
  final Set<Marker> _markers = new Set();
  static const LatLng _mainLocation = const LatLng(25.69893, 32.6421);
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
            appBar: AppBar(
              title: Text('Maps With Marker'),
              backgroundColor: Colors.blue[900],
            ),
            body: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                Expanded(
                  child: GoogleMap(
                    initialCameraPosition: CameraPosition(
                      target: _mainLocation,
                      zoom: 10.0,
                    ),
                    markers: this.myMarker(),
                    mapType: MapType.normal,
                    onMapCreated: (controller) {
                      setState(() {
                        myMapController = controller;
                      });
                    },
                  ),
                ),
              ],
            )));
  }

  Set<Marker> myMarker() {
    setState(() {
      _markers.add(Marker(
        // This marker id can be anything that uniquely identifies each marker.
        markerId: MarkerId(_mainLocation.toString()),
        position: _mainLocation,
        infoWindow: InfoWindow(
          title: 'Historical City',
          snippet: '5 Star Rating',
        ),
        icon: BitmapDescriptor.defaultMarker,
      ));
    });

    return _markers;
  }
}


4 commentaires

J'ai essayé le code ci-dessus (après avoir suivi les instructions de configuration et d'installation). Mais la carte ne s'affiche pas. J'obtiens un écran gris avec un marqueur au milieu de l'écran. J'ai également essayé l'exemple sur pub.dev/packages/google_maps_flutter#-installing-tab- avec le même résultat. Aucune erreur dans la console.


@SGoldwin, pouvez-vous me dire si votre émulateur prend en charge Google Play Store ou non?


J'utilise l'API 28 du Nexus 5X qui prend en charge Google Play. J'ai installé l'API 28 de Pixel 2 avec la prise en charge de Google Play. Fonctionnant sur le Pixel 2, j'obtiens un message d'erreur: "/ GooglePlayServicesUtil (4151): services Google Play obsolètes. Nécessite 13400000 mais trouvé 13280022". J'ai ensuite installé Pixel 2 API Q (dernière version) mais cette fois je n'ai pas pu exécuter l'application dans l'émulateur. Message: «Erreur de connexion au protocole de service: HttpException: connexion fermée avant la réception de l'en-tête complet». Je google et certains disent que vous devriez rétrograder. Je n'ai pas essayé ça.


@SGoldwin J'ai aussi l'API 28 du Nexus 5X et cela a fonctionné avec moi. en fait, je ne sais pas grand-chose sur le problème des émulateurs :(



1
votes

Deux problèmes possibles lorsque je suis tombé sur ce problème.

Assurez-vous d'avoir activé le "SDK Maps pour iOS" dans votre console API " https://console.cloud.google.com/google/maps-apis/ ......."


1 commentaires

Vous ne devez pas publier de liens comme réponse. Pourriez-vous mettre à jour votre réponse et indiquer les étapes à suivre pour résoudre le problème.



13
votes

Vous n'avez probablement pas activé le service Google Map et le SDK Map pour Android et IOS dans Google Cloud Console ... Essayez ce lien https://console.cloud.google.com/google/maps-apis/overview


0 commentaires

3
votes

allez dans la console google cloud et activez votre APIKey et cela fonctionnera, j'ai rencontré le même problème et l'application (que j'ai installée sur un appareil physique Android mais cela n'a pas fonctionné et apparaît comme une page vierge avec le logo de google dans le coin inférieur gauche,

après cela, j'ai réalisé que je devais activer l'APIKey pas jsut le générer et l'inclure dans mon application et quand j'ai fait cela, l'application fonctionnait bien et les cartes apparaissent et le problème est résolu


0 commentaires

10
votes

Eh bien, lorsque vous ajoutez sa clé API dans le fichier AndroidManifest.xml

  • Ajouter

    <meta-data android:name="com.google.android.geo.API_KEY" android:value="YOUR_API_KEY"/>

entre </activity> et </application> .

  • Exécutez la commande flutter clean dans le terminal.
  • Exécuter.

1 commentaires

J'ai rencontré le même problème même lorsque mes API sont activées, j'obtiens un écran bleu vide. La commande flutter clean a vraiment sauvé la journée: D



4
votes
  • Ouvrez votre carte google dans l'émulateur .
  • Si cette carte google ne montre pas la carte, le problème est dans votre carte google émulateur .
  • Vous devez mettre à jour ou réinstaller google map dans votre émulateur .
  • Cela fonctionne pour moi.

0 commentaires

0
votes

J'ai eu le même problème sur mon téléphone de débogage. Il s'avère que le connecter à Internet aide;) (je n'ai pas remarqué que le Wi-Fi était désactivé)


0 commentaires

0
votes

Essayez d'exécuter l'application sur n'importe quel mobile au lieu de l'émulateur. J'étais confronté au même problème, mais cela fonctionne pour moi lorsque j'ai essayé d'exécuter l'application sur mobile. Sinon, vous devez vérifier dans la console GCP si vous avez activé le SDK Maps pour IOS ou non.


0 commentaires

0
votes

Je souffrais également de cette erreur ou de cet écran vide.Ainsi, la solution que j'ai obtenue est d'activer le SDK Maps pour Android ou IOS.Sur Google Cloud Platform.Après avoir activé le SDK, votre application affichera sûrement la carte dans une minute.


0 commentaires

2
votes

Après avoir créé une API, vous devez activer le SDK Android et le SDK IOS pour votre projet. Après cela, accédez aux restrictions d'API et sélectionnez ces deux éléments. Veuillez voir les images suivantes:

  1. Activez les SDK: Activer les SDK

  2. Ajoutez-les aux restrictions de l'API Voici à quoi ils devraient ressembler s'ils sont activés

Et vous avez terminé! Tout ce que vous avez à faire pour le moment est de copier la clé API et de l'ajouter dans votre fichier AndroidManifest. Gardez également à l'esprit que vous n'avez pas besoin d'ajouter un compte de facturation pour que cela fonctionne. J'espère que cela fonctionne pour toi!


1 commentaires

Quelle est la différence entre votre deuxième et votre troisième image?



0
votes

Flutter 1.7.5+, Dart 2.8.5+

J'avais tout essayé, mais je ne travaillais toujours pas sur iOS, j'avais vérifié les autorisations, etc. tout allait bien, mais apparemment ce problème était lié à la vue Web "io.flutter.embedded_views_preview". Après avoir défini ce fichier info.plist, a fonctionné.

<key>io.flutter.embedded_views_preview</key><true/>


0 commentaires

0
votes

J'ai suivi les instructions de la page du plugin Flutter pour commencer à travailler avec des cartes: https://codelabs.developers.google.com/codelabs/google-maps-in-flutter/#1

https://pub.dev/packages/google_maps_flutter#usage

Le problème auquel j'étais confronté: (s'applique uniquement aux personnes qui ont restreint la clé API pour accepter les demandes d'identifiants de bundle spécifiques dans iOS)

J'ai eu le problème où j'avais une boîte grise vierge à la place de la carte.

Le problème s'est avéré être que j'avais restreint ma clé API pour restreindre les demandes: "accepter les demandes d'une application iOS avec l'un de ces identifiants de bundle."

J'avais changé l'identifiant du bundle. Tout ce que j'avais à faire était d'ajouter l'identifiant du bundle à la liste d'identifiants autorisés. et les cartes sont apparues.

vous pouvez trouver l'identifiant du bundle ios en effectuant une recherche globale dans le code de votre application pour "PRODUCT_BUNDLE_IDENTIFIER =".

vous pouvez accéder à la page de modification des touches API en:

  1. Recherche de google maps dans la barre de recherche. ( https://console.cloud.google.com/google/maps-apis )
  2. cliquez sur l'onglet des informations d'identification dans le volet gauche (cela montre toutes vos clés API)
  3. Sélectionnez la clé API que vous souhaitez modifier
  4. ajoutez votre identifiant de bundle

0 commentaires

0
votes

assurez-vous que votre clé ici est la même que la clé API utilisée dans l'affichage de la carte: ou ajoutez cette balise meta à votre fichier manifeste avec la bonne API_KEY

<meta-data android:name="com.google.android.geo.API_KEY"
android:value="API_KEY"/>


0 commentaires