web-dev-qa-db-fra.com

Plusieurs marqueurs avec du texte sur Android Google Maps API v2

Mon objectif est d’avoir plusieurs marqueurs avec du texte sur chacun sur l’API Android Google Maps v2 map. L’approche des fenêtres d’information (showInfoWindow ()) ne convient pas, car une seule fenêtre d’information est affichée à la fois. Par exemple, je veux avoir quelque chose comme ça: enter image description here

Comme vous pouvez le constater, chaque marqueur a ses propres données (nombre pour cet exemple) affichées tout le temps. Comment puis-je réaliser cela avec Android Google Maps API v2 ?

13
Paulius

pour ce faire, vous devrez personnaliser l'icône de chaque marqueur en fonction de vos besoins. Voici le lien: https://developers.google.com/maps/documentation/Android/marker# personnaliser_a_marker

Ensuite, vous pouvez mettre quelques ressources PNG (un bleu, un jaune et un rouge), et au moment de l'exécution obtenir le bitmap correct, écrire le texte sur le bitmap par code, puis le définir en tant que marqueur personnalisé avec la méthode fromBitmap (Bitmap image).

10
Budius

Essayez ces liens Il est préférable d'utiliser & Cela vous aidera à ajouter Plusieurs marqueurs avec du texte sur Android Google Maps API v2  

  1. Link1
  2. Link2
6
Dixit Patel

essayez ceci

LinearLayout tv = (LinearLayout) this.getLayoutInflater().inflate(R.layout.marker_dialog, null, false);

tv.measure(View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),
        View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
tv.layout(0, 0, tv.getMeasuredWidth(), tv.getMeasuredHeight());

tv.setDrawingCacheEnabled(true);
tv.buildDrawingCache();
Bitmap bm = tv.getDrawingCache();

LatLng latLng = new LatLng(latitudemy, longitudemy);


BitmapDescriptor icon = BitmapDescriptorFactory.fromBitmap(bm);
BitmapDescriptorFactory.fromResource(R.mipmap.ic_launcher);
map.addMarker(new MarkerOptions().position(new LatLng(latitudemy, longitudemy)).title("Origin").snippet("Srivastava").icon(icon));
// Showing the current location in Google Map
map.addMarker(new MarkerOptions().position(new LatLng(latitude, longitude)).title("destination").snippet("Srivastava").icon(icon));
3
Shikhar

Vous voudrez peut-être également essayer une solution prête à l'emploi pour la mise en cluster: Android Maps Extensions

2
MaciejGórski

En tant que update :
Les cartes Android utils a maintenant un utilitaire de regroupement de marqueurs
https://developers.google.com/maps/documentation/Android/utility/marker-clustering

https://github.com/googlemaps/Android-maps-utils

0
Paul Alexander