package com.osmnavigator;
import android.view.View;
import android.widget.Button;
import org.osmdroid.views.MapView;
import org.osmdroid.views.overlay.Marker;
import org.osmdroid.views.overlay.infowindow.MarkerInfoWindow;
/**
* A customized InfoWindow handling "itinerary" points (start, destination and via-points).
* We inherit from MarkerInfoWindow as it already provides most of what we want.
* And we just add support for a "remove" button.
*
* @author M.Kergall
*/
public class ViaPointInfoWindow extends MarkerInfoWindow {
int mSelectedPoint;
public ViaPointInfoWindow(int layoutResId, MapView mapView) {
super(layoutResId, mapView);
Button btnDelete = (Button)(mView.findViewById(R.id.bubble_delete));
btnDelete.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
//Call the removePoint method on MapActivity.
//TODO: find a cleaner way to do that!
MapActivity mapActivity = (MapActivity)view.getContext();
mapActivity.removePoint(mSelectedPoint);
close();
}
});
}
@Override public void onOpen(Object item) {
Marker eItem = (Marker)item;
mSelectedPoint = (Integer)eItem.getRelatedObject();
super.onOpen(item);
}
}