В общем масштабирование и перемещение по карте я сделал следующим образом: рисую прямоугольник и накладываю на него текстуру в виде карты, а потом командой glTranslatef перемещаю его влево-вправо, а при перемещении по оси z - получается уменьшение-увеличение. Код прорисовки следующий:
	Код:
	glViewport(0, 0, ClientWidth, ClientHeight);
  glMatrixMode(GL_PROJECTION);
  glLoadIdentity;
  gluPerspective(7, ClientWidth / ClientHeight, cfltMapMinZoom, cfltMapMaxZoom);
  glMatrixMode(GL_MODELVIEW);
  glLoadIdentity;
  glTranslatef(MapImage.X, MapImage.Y, -MapImage.Zoom);
  BeginPaint(Handle, ps);
  glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT);
  glPushMatrix;
  glBegin (GL_QUADS);
    glTexCoord2d (0.0, 0.0);
    glVertex2f (-1.0, -1.0);
    glTexCoord2d (0.0, 1.0);
    glVertex2f (-1.0, 1.0);
    glTexCoord2d (1.0, 1.0);
    glVertex2f (1.0, 1.0);
    glTexCoord2d (1.0, 0.0);
    glVertex2f (1.0, -1.0);
  glEnd;
  glPopMatrix;
  SwapBuffers(DC);
  EndPaint(Handle, ps); 
 
Теперь вопрос: каким образом можно на карте поставить метку (например треугольник), чтобы он не расползался вместе с картой, но положение было привязано к карте. Т.е. можно ли как-то вписать туда маленькое окно, координаты которого будут указаны в общих координатах, и рисовать в нем уже в координатах этого окошечка? Или может быть есть какие-то другие пути решения проблемы. В OpenGL я новичек, поэтому не знаю всех возможностей. Должен же быть какой-то стандартный подход.