Index: doc/styles/internal-tags.txt
===================================================================
--- doc/styles/internal-tags.txt	(revision 4606)
+++ doc/styles/internal-tags.txt	(working copy)
@@ -138,6 +138,7 @@
 | Tag | Description     
 | +mkgmap:skipSizeFilter+  | If set to +true+ the line or polygon will pass the size filter, no matter what size it has    
 | +mkgmap:highest-resolution-only+  | If set to +true+ the object will only be added for the highest resolution configured in the element type definition.
+| +mkgmap:nooverview+  | If set to +true+ the object will not be included in the overview map.
 | +mkgmap:execute_finalize_rules+  | If set to +true+ mkgmap will execute the finalize rules even if no object is created fot the element.
 | +mkgmap:numbers+  | If set to +false+ for a node or way mkgmap will ignore the object in the calculations for the --housenumber option   
 | +mkgmap:drawLevel+  | Set to a number from 1 to 100. Overrides the polygon area that is used by --order-by-decreasing-area. 1..50 are larger than typical polygons and be overwritten by them, 51..100 are smaller and will show. Higher drawLevels will show over lower values.
Index: src/uk/me/parabola/mkgmap/build/MapBuilder.java
===================================================================
--- src/uk/me/parabola/mkgmap/build/MapBuilder.java	(revision 4606)
+++ src/uk/me/parabola/mkgmap/build/MapBuilder.java	(working copy)
@@ -1059,6 +1059,8 @@
 		}
 
 		for (MapPoint point : points) {
+			if (!point.getIncludeInOverview() && isOverviewComponent)
+				continue;
 
 			if (point.isCity() || point.getMinResolution() > res)
 				continue;
@@ -1200,6 +1202,9 @@
 		filters.addFilter(new LineAddFilter(div, map));
 		
 		for (MapLine line : lines) {
+			if (!line.getIncludeInOverview() && isOverviewComponent)
+				continue;
+
 			if (line.getMinResolution() <= res) {
 				filters.startFilter(line);
 			}
@@ -1258,6 +1263,9 @@
 		filters.addFilter(new ShapeAddFilter(div, map));
 
 		for (MapShape shape : shapes) {
+			if (!shape.getIncludeInOverview() && isOverviewComponent)
+				continue;
+
 			if (shape.getMinResolution() <= res) {
 				filters.startFilter(shape);
 			}
Index: src/uk/me/parabola/mkgmap/general/MapElement.java
===================================================================
--- src/uk/me/parabola/mkgmap/general/MapElement.java	(revision 4606)
+++ src/uk/me/parabola/mkgmap/general/MapElement.java	(working copy)
@@ -34,6 +34,8 @@
 
 	private int minResolution = 24;
 	private int maxResolution = 24;
+	
+	private boolean includeInOverview = true;
 
 	private ExtTypeAttributes extTypeAttributes;
 	// other attributes
@@ -57,6 +59,7 @@
 		phone = orig.phone;
 		houseNumber = orig.houseNumber;
 		isIn = orig.isIn;
+		includeInOverview = orig.includeInOverview;
 	}
 
 	/**
@@ -249,4 +252,12 @@
 	public void setMaxResolution(int maxResolution) {
 		this.maxResolution = maxResolution;
 	}
+	
+	public boolean getIncludeInOverview() {
+		return includeInOverview;
+	}
+
+	public void setIncludeInOverview(boolean include) {
+		includeInOverview = include;
+	}
 }
Index: src/uk/me/parabola/mkgmap/osmstyle/StyledConverter.java
===================================================================
--- src/uk/me/parabola/mkgmap/osmstyle/StyledConverter.java	(revision 4606)
+++ src/uk/me/parabola/mkgmap/osmstyle/StyledConverter.java	(working copy)
@@ -523,6 +523,7 @@
 
 	private int lineIndex = 0;
 	private static final short TK_ONEWAY = TagDict.getInstance().xlate("oneway"); 
+	private static final short TK_NOOVERVIEW = TagDict.getInstance().xlate("mkgmap:nooverview"); 
 
 	/** One type result for nodes to avoid recreating one for each node. */ 
 	private NodeTypeResult nodeTypeResult = new NodeTypeResult();
@@ -1232,7 +1233,6 @@
 			line.setType(replType);
 		line.setPoints(points);
 
-		
 		if (way.tagIsLikeYes(TK_ONEWAY))
 			line.setDirection(true);
 
@@ -1276,6 +1276,9 @@
 		ms.setType(gt.getType());
 		ms.setMinResolution(gt.getMinResolution());
 		ms.setMaxResolution(gt.getMaxResolution());
+		
+		if (element.tagIsLikeYes(TK_NOOVERVIEW))
+			ms.setIncludeInOverview(false);
 
 		if (element.tagIsLikeYes(TKM_HIGHEST_RES_ONLY)){
 			ms.setMinResolution(ms.getMaxResolution());
@@ -1807,6 +1810,9 @@
 		MapLine line = new MapLine();
 		elementSetup(line, cw.getGType(), way);
 		line.setPoints(points);
+		if (way.tagIsLikeYes(TK_NOOVERVIEW))
+			line.setIncludeInOverview(false);
+
 		MapRoad road = new MapRoad(nextRoadId++, way.getId(), line);
 		if (!routable) {
 			road.skipAddToNOD(true);
