MapModel model = map.getModel();
writer.write(",circles:[");
for(Iterator<Circle> circles = model.getCircles().iterator(); circles.hasNext();) {
Circle circle = (Circle) circles.next();
writer.write("new google.maps.Circle({");
writer.write("id:'" + circle.getId() + "'");
writer.write(",center:new google.maps.LatLng(" + circle.getCenter().getLat() + ", " + circle.getCenter().getLng() + ")");
writer.write(",radius:" + circle.getRadius());
writer.write(",strokeOpacity:" + circle.getStrokeOpacity());
writer.write(",strokeWeight:" + circle.getStrokeWeight());
writer.write(",fillOpacity:" + circle.getFillOpacity());
if(circle.getStrokeColor() != null) writer.write(",strokeColor:'" + circle.getStrokeColor() + "'");
if(circle.getFillColor() != null) writer.write(",fillColor:'" + circle.getFillColor() + "'");
if(circle.getZindex() > Integer.MIN_VALUE) writer.write(",zIndex:" + circle.getZindex());
writer.write("})");
if(circles.hasNext())
writer.write(",");