Clickable List в OverlayItem (MapView для Android)

У меня есть вид карты с несколькими контактами, нанесенными на разные адреса. Все работает очень хорошо. Проблема возникает, когда у вас есть несколько элементов, указывающих на один и тот же адрес. Например,

Узел 1/45 ABC Street, XYZ
Узел 7/45 ABC Street, XYZ.

Я использую следующую строку кода для извлечения lat и long для создания GeoPoint.

List<Address> listfromGoogle = gc.getFromLocationName(a, 1); 

Где a – адрес, а gc – объект GeoCoder.

Согласно API, два упомянутых выше адреса возвращают одни и те же координаты.

Поэтому при построении штифтов на карте они переписывают друг друга, заканчивая одним выводом для нескольких адресов.

Я попытался реализовать список, отображающий все повторяющиеся адреса на воздушном шаре. Попытка была напрасной, и я понял, что

 OverlayItem(GeoPoint point, java.lang.String title, java.lang.String snippet) 

Позволяет мне только поставить две струны, которые будут показаны на баллоне.

Какую-либо подсказку о том, как я мог бы сжать в списке, который отображает несколько адресов?

Вы должны реализовать пользовательский OverlayItem

 public class ListOverlayItem extends OverlayItem { private List<Address> list; public ListOverlayItem(GeoPoint point, List<Address> list) { super(point, "", ""); } public List<Address> getList() { return list; } } 

То в вашем пользовательском ItemizedOverlay вы можете использовать этот список для создания настраиваемого диалога со списком в методе onTap

 public class ListItemizedOverlay extends ItemizedOverlay<ListOverlayItem> { @Override protected boolean onTap(int index) { // get item they tapped from index // use getList() to populate the listview in the custom dialog } }