package net.osmand.plus.quickaction.actions;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import net.osmand.data.LatLon;
import net.osmand.data.PointDescription;
import net.osmand.plus.R;
import net.osmand.plus.activities.MapActivity;
import net.osmand.plus.quickaction.QuickAction;
public class MarkerAction extends QuickAction {
public static final int TYPE = 2;
public MarkerAction() {
super(TYPE);
}
public MarkerAction(QuickAction quickAction) {
super(quickAction);
}
@Override
public void execute(MapActivity activity) {
LatLon latLon = activity.getMapView()
.getCurrentRotatedTileBox()
.getCenterLatLon();
PointDescription pointDescription = new PointDescription(
latLon.getLatitude(),
latLon.getLongitude());
if (pointDescription.isLocation() && pointDescription.getName().equals(PointDescription.getAddressNotFoundStr(activity)))
pointDescription = new PointDescription(PointDescription.POINT_TYPE_LOCATION, "");
activity.getMapActions().addMapMarker(
latLon.getLatitude(),
latLon.getLongitude(),
pointDescription);
}
@Override
public void drawUI(ViewGroup parent, MapActivity activity) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.quick_action_with_text, parent, false);
((TextView) view.findViewById(R.id.text)).setText(
R.string.quick_action_add_marker_descr);
parent.addView(view);
}
}