public void render(PixelCanvas pCanvas, Projection pProjection) {
		final Point3D lPos = pProjection.rotate(fCoordinate.getPoint3D());

		if ((pProjection instanceof ProjectionOrtho) && (lPos.getZ() <= 0)) {
			// Back side of the Earth.
			// Insight: We don't need to check if the marker is visible in other
			// projections because they always show the whole earth - and all
			// markers!
			return;
		}

		Point2D lPoint = pProjection.finalize(pProjection.project2D(lPos));
		final int lX = (int) lPoint.getX();
		final int lY = (int) lPoint.getY();

		// Draw a circle
		Graphics2D g2d = pCanvas.getGraphics2D();
		g2d.setColor(Color.red);
		// pCanvas.drawCircle(lX, lY, MARKER_SIZE);
		g2d.drawOval(lX, lY, MARKER_SIZE, MARKER_SIZE);

		if (fLabel != null) {
			switch (fAlign) {
			case Marker.MarkerAlignLeft:
				break;

			case Marker.MarkerAlignRight:
			case Marker.MarkerAlignDefault:
				// pCanvas.drawText(lX + MARKER_SIZE, lY + 4, fLabel);
				// fRenderTarget.setTextFont(fRenderTarget.getTextFont().deriveFont(9.0f));
				g2d.setFont(new Font("", Font.PLAIN, 9));
				g2d.drawString(fLabel, lX + MARKER_SIZE + 1, lY + 2);
				break;

			case Marker.MarkerAlignAbove:
				break;

			case Marker.MarkerAlignBelow:
				break;
			}
		}
	}