diff --git a/OsmAnd/res/values/strings.xml b/OsmAnd/res/values/strings.xml
index 89de5354fe..f96b692e5a 100644
--- a/OsmAnd/res/values/strings.xml
+++ b/OsmAnd/res/values/strings.xml
@@ -934,6 +934,7 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A
Parking Position Plugin
Mark as a parking position
Delete a parking marker
+ Show route points
Public
Identifiable
Trackable
diff --git a/OsmAnd/src/net/osmand/plus/OsmandPlugin.java b/OsmAnd/src/net/osmand/plus/OsmandPlugin.java
index 754fe79ffa..43fee487d5 100644
--- a/OsmAnd/src/net/osmand/plus/OsmandPlugin.java
+++ b/OsmAnd/src/net/osmand/plus/OsmandPlugin.java
@@ -22,6 +22,7 @@ import net.osmand.plus.osmo.OsMoPlugin;
import net.osmand.plus.osmodroid.OsMoDroidPlugin;
import net.osmand.plus.parkingpoint.ParkingPositionPlugin;
import net.osmand.plus.rastermaps.OsmandRasterMapsPlugin;
+import net.osmand.plus.routesteps.RouteStepsPlugin;
import net.osmand.plus.srtmplugin.SRTMPlugin;
import net.osmand.plus.views.OsmandMapTileView;
import org.apache.commons.logging.Log;
@@ -41,10 +42,11 @@ public abstract class OsmandPlugin {
private static final String PARKING_PLUGIN_COMPONENT = "net.osmand.parkingPlugin"; //$NON-NLS-1$
private static final String SRTM_PLUGIN_COMPONENT_PAID = "net.osmand.srtmPlugin.paid"; //$NON-NLS-1$
private static final String SRTM_PLUGIN_COMPONENT = "net.osmand.srtmPlugin"; //$NON-NLS-1$
-
+
private static final String OSMODROID_PLUGIN_COMPONENT = "com.OsMoDroid"; //$NON-NLS-1$
-
+ private static final String ROUTE_STEPS_PLUGIN_COMPONENT = "net.osmand.routeStepsPlugin"; //$NON-NLS-1$
+
public abstract String getId();
public abstract String getDescription();
@@ -82,6 +84,10 @@ public abstract class OsmandPlugin {
if(!f && Version.isParkingPluginInlined(app)) {
installedPlugins.add(parking);
}
+
+ final RouteStepsPlugin routeSteps = new RouteStepsPlugin(app);
+ installPlugin(ROUTE_STEPS_PLUGIN_COMPONENT, RouteStepsPlugin.ID, app, routeSteps);
+
installPlugin(OSMODROID_PLUGIN_COMPONENT, OsMoDroidPlugin.ID, app, new OsMoDroidPlugin(app));
installedPlugins.add(new OsmEditingPlugin(app));
installedPlugins.add(new OsmandDevelopmentPlugin(app));
diff --git a/OsmAnd/src/net/osmand/plus/routesteps/RouteStepsLayer.java b/OsmAnd/src/net/osmand/plus/routesteps/RouteStepsLayer.java
new file mode 100644
index 0000000000..c35697a71b
--- /dev/null
+++ b/OsmAnd/src/net/osmand/plus/routesteps/RouteStepsLayer.java
@@ -0,0 +1,67 @@
+package net.osmand.plus.routesteps;
+
+import android.graphics.Canvas;
+import android.graphics.PointF;
+import net.osmand.data.LatLon;
+import net.osmand.data.RotatedTileBox;
+import net.osmand.plus.activities.MapActivity;
+import net.osmand.plus.views.ContextMenuLayer;
+import net.osmand.plus.views.OsmandMapLayer;
+import net.osmand.plus.views.OsmandMapTileView;
+
+import java.util.List;
+
+/**
+ * Created by Barsik on 10.06.2014.
+ */
+public class RouteStepsLayer extends OsmandMapLayer implements ContextMenuLayer.IContextMenuProvider {
+
+ private final MapActivity map;
+ private RouteStepsPlugin plugin;
+
+ public RouteStepsLayer(MapActivity map, RouteStepsPlugin plugin){
+ this.map = map;
+ this.plugin = plugin;
+ }
+
+
+ @Override
+ public void collectObjectsFromPoint(PointF point, RotatedTileBox tileBox, List