Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/Demo.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/Demo.java	(revision 29516)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/Demo.java	(revision 29517)
@@ -188,4 +188,7 @@
         Layer franceLayer = treeMap.addLayer("France");
         map().addMapMarker(new MapMarkerDot(franceLayer, "La Gallerie", 48.71, -1));
+        map().addMapMarker(new MapMarkerDot(43.604, 1.444));
+        map().addMapMarker(new MapMarkerCircle(53.343, -6.267, 0.666));
+        map().addMapRectangle(new MapRectangleImpl(new Coordinate(53.343, -6.267), new Coordinate(43.604, 1.444)));
         map().addMapMarker(darmstadt);
         treeMap.addLayer(germanyWestLayer);
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/MapMarkerCircle.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/MapMarkerCircle.java	(revision 29516)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/MapMarkerCircle.java	(revision 29517)
@@ -26,4 +26,7 @@
     STYLE markerStyle;
 
+    public MapMarkerCircle(Coordinate coord, double radius) {
+        this(null, null, coord, radius);
+    }
     public MapMarkerCircle(String name, Coordinate coord, double radius) {
         this(null, name, coord, radius);
@@ -31,4 +34,7 @@
     public MapMarkerCircle(Layer layer, Coordinate coord, double radius) {
         this(layer, null, coord, radius);
+    }
+    public MapMarkerCircle(double lat, double lon, double radius) {
+        this(null, null, new Coordinate(lat,lon), radius);
     }
     public MapMarkerCircle(Layer layer, double lat, double lon, double radius) {
@@ -99,4 +105,3 @@
         else coord.setLon(lon);
     }
-
 }
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/MapMarkerDot.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/MapMarkerDot.java	(revision 29516)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/MapMarkerDot.java	(revision 29517)
@@ -19,4 +19,7 @@
     public static final int DOT_RADIUS = 5;
 
+    public MapMarkerDot(Coordinate coord) {
+        this(null, null, coord);
+    }
     public MapMarkerDot(String name, Coordinate coord) {
         this(null, name, coord);
@@ -27,4 +30,11 @@
     public MapMarkerDot(Layer layer, String name, Coordinate coord) {
         this(layer, name, coord, getDefaultStyle());
+    }
+    public MapMarkerDot(Color color, double lat, double lon) {
+        this(null, null, lat, lon);
+        setColor(color);
+    }
+    public MapMarkerDot(double lat, double lon) {
+        this(null, null, lat, lon);
     }
     public MapMarkerDot(Layer layer, double lat, double lon) {
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/MapObjectImpl.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/MapObjectImpl.java	(revision 29516)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/MapObjectImpl.java	(revision 29517)
@@ -37,5 +37,5 @@
     }
     public Style getStyleAssigned(){
-        return style==null?layer.getStyle():style;
+        return style == null ? (layer == null ? null : layer.getStyle()) : style;
     }
     public void setStyle(Style style){
@@ -43,5 +43,6 @@
     }
     public Color getColor() {
-        return getStyleAssigned().getColor();
+        Style styleAssigned = getStyleAssigned();
+        return styleAssigned == null ? null : getStyleAssigned().getColor();
     }
     public void setColor(Color color) {
@@ -51,5 +52,6 @@
 
     public Color getBackColor() {
-        return getStyleAssigned().getBackColor();
+        Style styleAssigned = getStyleAssigned();
+        return styleAssigned == null ? null : getStyleAssigned().getBackColor();
     }
     public void setBackColor(Color backColor) {
@@ -59,5 +61,6 @@
 
     public Stroke getStroke() {
-        return getStyleAssigned().getStroke();
+        Style styleAssigned = getStyleAssigned();
+        return styleAssigned == null ? null : getStyleAssigned().getStroke();
     }
     public void setStroke(Stroke stroke) {
@@ -67,5 +70,6 @@
     
     public Font getFont() {
-        return getStyleAssigned().getFont();
+        Style styleAssigned = getStyleAssigned();
+        return styleAssigned == null ? null : getStyleAssigned().getFont();
     }
     public void setFont(Font font) {
Index: applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/MapRectangleImpl.java
===================================================================
--- applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/MapRectangleImpl.java	(revision 29516)
+++ applications/viewer/jmapviewer/src/org/openstreetmap/gui/jmapviewer/MapRectangleImpl.java	(revision 29517)
@@ -20,4 +20,7 @@
     private Coordinate bottomRight;
 
+    public MapRectangleImpl(Coordinate topLeft, Coordinate bottomRight) {
+        this(null, null, topLeft, bottomRight);
+    }
     public MapRectangleImpl(String name, Coordinate topLeft, Coordinate bottomRight) {
         this(null, name, topLeft, bottomRight);
