webentwicklung-frage-antwort-db.com.de

Mehrere Markierungen mit Text in der Android Google Maps API v2

Mein Ziel ist es, auf der Android Google Maps API v2 Map mehrere Marker mit Text zu haben. Der Infofensteransatz (showInfoWindow ()) ist nicht geeignet, da jeweils nur ein Infofenster angezeigt wird. Zum Beispiel möchte ich so etwas haben: enter image description here

Wie Sie sehen, hat jeder Marker seine eigenen Daten (Nummer für dieses Beispiel), die ständig angezeigt werden. Wie kann ich dies mit der Android Google Maps API v2 erreichen?

13
Paulius

dazu müssen Sie das Symbol jedes einzelnen Markers an Ihre Bedürfnisse anpassen. Hier ist der Link: https://developers.google.com/maps/documentation/Android/marker# anpassen_a_marker

Dann können Sie einige PNG-Ressourcen (eine blaue, eine gelbe und eine rote) setzen, und zur Laufzeit die korrekte Bitmap aufrufen, den Text per Code in die Bitmap schreiben und dann als benutzerdefinierte Markierung mit der fromBitmap (Bitmap image)-Methode festlegen.

10
Budius

Probieren Sie diese Verknüpfung aus Es ist am besten, & zu verwenden. Es wird hilfreich sein, wie Sie Mehrere Marker mit Text in der Android Google Maps API v2 hinzufügen. 

  1. Link1
  2. Link2
6
Dixit Patel

probiere das aus

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

Sie können auch eine Out-of-the-Box-Lösung für das Clustering ausprobieren: Android Maps-Erweiterungen

2
MaciejGórski

Als Update :
Android-Karten utils verfügt jetzt über ein Dienstprogramm zur Marker-Clusterbildung
https://developers.google.com/maps/documentation/Android/utility/marker-clustering

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

0
Paul Alexander