IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Fragment GoogleMap sous Android 2.3.5


Sujet :

Android

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 14
    Points
    14
    Par défaut Fragment GoogleMap sous Android 2.3.5
    Bonjour

    Je suis confronté depuis quelques jours au problème suivant :

    J'essaie de faire fonctionner un fragment GoogleMap avec la version 2 de l'api GoogleMap.

    Celui-ci fonctionne très bien sur les téléphones 4.0 (Celle-ci zoome sur un marker lors de l'ouverture) mais lorsque je lance l'application sur un téléphone tournant sous Android 2.3.5 (Gingerbread),

    la carte s'affiche mais il est impossible de la manipuler. Celle-ci reste bloquée sur la vue générale du monde sans que l'on puisse zoomer ou effectuer une rotation.

    Le seul moyen de récupérer le contrôle du fragment est de verrouiller le téléphone puis de le déverrouiller. A ce moment là, les actions effectués lorsque la carte était bloquée sont pris en compte.

    L'un d'entre vous aurait-il une idée sur la cause de ce phénomène ?

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Première fois que je lis ce phénomène.
    Ton Fragment est-il dans un ViewPager ou composant assimilé (notion de capture d'interaction utilisateur) ?
    Ce comportement est-il sur tout terminal sous Gingerbread ou uniquement sur des terminaux avec TouchWiz ?
    Est-ce que ton Fragment de carte est dans un ScrollView ?
    As-tu une vue transparente par-dessus ta carte ?
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    Merci pour la réponse

    Mon fragment se trouve dans un LinearLayout.
    Je n'utilise pas de viewPager, de scrollview ou d'autre composants qui pourraient perturber le fonctionnement du fragment.

    Je n'utilise pas non plus de vue transparente.

    Concernant les terminaux, j'ai n'ai à disposition qu'un HTC Desire HD sous Gingerbread.
    Il m'est donc impossible de dire si le phénomène a lieu sur un autre terminal sous Gingerbread.
    En revanche, le fragment fonctionne très bien sur un Motorola Xt910.

  4. #4
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Un HTC ? Zut, je partais sur la surcouche Samsung qui faisait encore des siennes...

    Il faudrait que tu testes sur un autre terminal (si possible réel, sinon virtuel) sous Gingerbread pour avoir potentiellement un point de comparaison et évaluer des différences.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    J'ai testé avec un HTC Desire standard et j'ai le même problème.

    Après je ne sais pas si il y a une erreur dans l'implémentation de mon fragment puisque ça fonctionne sous KitKat et JellyBean.
    Est-ce qu'il y a déjà eue des problèmes de ce genre avec des téléphones HTC ?
    Y avait-il une procédure particulière pour lancer GoogleMap sur GingerBread ?

    voilà une partie de mon code Java :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
     
            private SupportMapFragment fragment;
    	private GoogleMap map;
    	private double latitude;
    	private double longitude;
     
            @Override
    	public void onActivityCreated(Bundle savedInstanceState) {
    		super.onActivityCreated(savedInstanceState);
    		FragmentManager fm = getChildFragmentManager();
    		fragment = (SupportMapFragment) fm.findFragmentById(R.id.map);
    		if (fragment == null) {
    			fragment = SupportMapFragment.newInstance();
    			fm.beginTransaction().replace(R.id.map, fragment).commit();
    		}
     
    	}
     
    	@Override
    	public void onResume() {
    		super.onResume();
     
    		if (map == null && android.os.Build.VERSION.SDK_INT > 8) {
    			map = fragment.getMap();
    			map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
    			map.setInfoWindowAdapter(new MyInfoWindowAdapter());
    			map.setOnInfoWindowClickListener(this);
     
    			map.getUiSettings().setAllGesturesEnabled(true);
     
    			Location center = new Location("");
    			center.setLatitude(latitude);
    			center.setLongitude(longitude);
    			String name = this.getArguments().getString("nom");
     
    			addMarker(new LatLng(latitude, longitude), name);
     
    			if (map == null) {
    				Toast.makeText(getActivity(), "Carte Indisponible",
    						Toast.LENGTH_SHORT).show();
    			}
     
    		}
    	}
    Et le xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res/com.myApp"
        android:id="@+id/tableLayout1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#fff" >
     
    [...]
     
    <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="0.1"
            android:baselineAligned="false"
            android:orientation="horizontal" >
     
            <fragment
                android:id="@+id/map"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                class="com.google.android.gms.maps.SupportMapFragment" />
        </LinearLayout>
    </TableLayout>

  6. #6
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Pas eu de souci sous Gingerbread.
    Je ne pourrai pas aider plus avant mardi (et encore, si mardi j'arrive à me trouver du temps x) ).
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    Bonjour

    Pour le moment je n'ai toujours pas trouver la raison du bug de GoogleMap sous GingerBread.
    Avez-vous trouvé quelque chose de votre côté ?

    Merci d'avance

  8. #8
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Testé ton code (j'ai du l'adapter), et je n'ai pas eu ce souci.
    Manifestement, le problème ne se trouve pas l'extrait fourni.

    Le seul conseil que je peux te donner à présent est de supprimer les fonctionnalités de ta carte (n'afficher qu'elle avec les infos par défaut, ne rien faire d'autre), tester et voir s'il y a toujours un problème. Si c'est le cas, rajouter les fonctionnalités et la configuration une à une (ou par petits lots) pour traquer petit à petit le problème.
    Si ce n'est pas le cas... ton problème ne vient pas de la carte, mais de la construction de ton app' et là... ce sera à toi d'investiguer pour voir quel élément est problématique.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 21
    Points : 14
    Points
    14
    Par défaut
    j'ai trouvé le probléme. Il était dans le layout tout simplement

  10. #10
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Et quel était-il ?
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Les Fragments sous Android
    Par Feanorin dans le forum Android
    Réponses: 1
    Dernier message: 17/06/2016, 16h34
  2. Utiliser les fragments sous Android
    Par Feanorin dans le forum Android
    Réponses: 0
    Dernier message: 10/02/2014, 08h57
  3. ViewPager sous Android : Comment slider d’un fragment à un autre
    Par Feanorin dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 12/03/2013, 02h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo