it-swarm.com.ru

Несколько маркеров с текстом на Android Google Maps API v2

Моя цель - иметь несколько маркеров с текстом на каждом из API Карт Google Android v2 map. Подход с информационными окнами (showInfoWindow ()) не подходит, поскольку одновременно отображается только одно информационное окно. Например, я хочу иметь что-то вроде этого: enter image description here

Как вы можете видеть, каждый маркер имеет свои собственные данные (номер для этого примера), отображаемые постоянно . Как этого добиться с помощью Google Maps API для Android v2 ?

13
Paulius

для этого вам нужно настроить значок каждого отдельного маркера так, чтобы он соответствовал вашим нуждам . Вот ссылка: https://developers.google.com/maps/documentation/Android/marker#customize_a_marker

Затем вы можете поместить некоторые PNG-ресурсы (синий, желтый и красный), и во время выполнения получить правильный Bitmap, написать текст на растровом изображении по коду, а затем установить в качестве пользовательского маркера с помощью метода fromBitmap (Bitmap image).

10
Budius

Попробуйте эти ссылки Лучше всего использовать и это поможет, как добавить несколько маркеров с текстом в Android Google Maps API v2 

  1. Link1
  2. Link2
6
Dixit Patel

попробуй это

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

Вы также можете попробовать готовое решение для кластеризации: Расширения карт Android

2
MaciejGórski

Как update:
Утилиты Android-карт теперь имеют утилиту кластеризации маркеров.
https://developers.google.com/maps/documentation/Android/utility/marker-clustering

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

0
Paul Alexander