obtenir le nombre de marqueur affiché sur la carte


utilisateur9355327

Je viens de récupérer des informations et de les afficher sous forme de marqueur sur la carte. Est-il possible pour moi d'obtenir le nombre de marqueurs affichés.

 btnValidate = (Button)findViewById(R.id.validate);
    btnValidate.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //Clear map from all markers
            mMap.clear();

            //Filter markers by disease
            disease = String.valueOf(spnDisease.getSelectedItem()).toLowerCase();
            location = String.valueOf(spnLocation.getSelectedItem());

            Query dbQuery = FirebaseDatabase.getInstance().getReference().child("diseaseReported").orderByChild("nameReportedAtReportedOn").equalTo(disease+location+txtDate.getText());
            dbQuery.addChildEventListener(new ChildEventListener() {
                @Override
                public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                    Log.d("v1", dataSnapshot.toString());
                    Map m = dataSnapshot.getValue(Map.class);
                    double lat = m.getLat();
                    double lng = m.getLng();
                    String reportedAt = m.getReportedAt();
                    String reportedOn = m.getReportedOn();
                    String name = m.getName();
                    String snippetText = "Reported on: " + reportedOn;
                    LatLng c = new LatLng(lat, lng);

                    mMap.addMarker(new MarkerOptions().position(c).title("Disease reported: " + name).snippet(snippetText).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));

                    }

                @Override
                public void onChildChanged(DataSnapshot dataSnapshot, String s) {

                }

                @Override
                public void onChildRemoved(DataSnapshot dataSnapshot) {

                }

                @Override
                public void onChildMoved(DataSnapshot dataSnapshot, String s) {

                }

                @Override
                public void onCancelled(DatabaseError databaseError) {

                }
            });

        }
    });

}

Référez-vous au code et à l'image ci-joints. Le code représente les informations qui ont été récupérées de firebase.Marqueurs sur la carte

Rosario Pereira Fernandes

Déclarez le compteur :

int markersCount = 0;

Et remplacez votre ChildEventListenerpar un ValueEventListener, en augmentant le compteur sur une forEachboucle :

            int markersCount = 0;
            Query dbQuery = FirebaseDatabase.getInstance().getReference().child("diseaseReported").orderByChild("nameReportedAtReportedOn").equalTo(disease+location+txtDate.getText());
            dbQuery.addValueEventListener(new ValueEventListener(){
                @Override
                public void onDataChange(DataSnapshot snapshot) {
                    for(DataSnapshot dataSnapshot : snapshot.getChildren())
                    {
                        Log.d("v1", dataSnapshot.toString());
                        Map m = dataSnapshot.getValue(Map.class);
                        double lat = m.getLat();
                        double lng = m.getLng();
                        String reportedAt = m.getReportedAt();
                        String reportedOn = m.getReportedOn();
                        String name = m.getName();
                        String snippetText = "Reported on: " + reportedOn;
                        LatLng c = new LatLng(lat, lng);

                        mMap.addMarker(new MarkerOptions().position(c).title("Disease reported: " + name).snippet(snippetText).icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));
                        markersCount++;
                    }
                    Log.i("Markers Count", "Total Markers="+markersCount);
                }
            });

Notez également que j'ai imprimé le décompte une fois la boucle terminée.

Articles connexes


Masquer / afficher le marqueur de la carte sur la carte Ici

Codeur perdant const testIcon = `<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg"> <rect stroke="white" fill="blue" x="1" y="1" width="22" height="22" /></svg>`; Sans utiliser cela sur CSS, le marqueur de carte et simplement afficher sur la p

Le marqueur Google n'est pas affiché sur la carte

Homunculus reticulli J'ai écrit du code pour afficher un marqueur sur un googlemap. Le code est copié presque textuellement, à partir de la documentation de l'API Google. Pourtant, le marqueur ne s'affiche pas sur la page. Voici mon code: qu'est-ce que je fais

angular-google-map: impossible d'obtenir le marqueur sur la carte

L'AMOUR Je travaille actuellement pour une application ionique et je dois montrer une carte d'un lieu. J'utilise angular-google-map, et la carte s'affiche à l'écran. Le problème est que je n'ai pas pu obtenir le marqueur sur la carte! Je suis vraiment à court

Menu contextuel de la brochure non affiché sur le marqueur

nécroface J'utilise cette bibliothèque sur mon projet Java. Je l'inclus avec d'autres plugins de dépliants dans mon jspfichier. Dans le script, je rencontre une erreur très étrange et qui semble impossible. Si j'initialise la carte avec un menu contextuel, le

Marqueur de position sur la carte jquery

Aravinthe E J'ai utilisé un marqueur de localisation sur mon adresse. mais ne peut pas fonctionner correctement pour la carte et le marqueur d'emplacement Code HTML. <section class="contact-map2" id="contact-map2"> </section> Jcode de requête. <!-- Jquery -->