При переопределении ItemizedOverlay существует защищенный метод onTap.Он имеет индекс предмета в качестве параметра.Вы должны переопределить onTap и использовать этот индекс для получения правильного объекта данных.Например:
@Override
protected boolean onTap(int index) {
getItem(index); \\your overlay item
return true;
}
Затем вы должны создать собственный диалог из кода или раздуть макет XML, использовать правильные параметры макета, чтобы добавить его в MapView:
MapView.LayoutParams params = new MapView.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT, point, 0, 0, MapView.LayoutParams.BOTTOM_CENTER);
params.mode = MapView.LayoutParams.MODE_MAP;
MV.addView(popup, params);
MV - ваш экземпляр MapView;point - ваш оверлейный элемент GeoPoint;popup - ваш собственный диалог.