I've figured out from SO post How to get the canvas-relative position of an object that is in a group? how to get the co-ordinates. And I managed to do some experimentation to get the co-ordinates when the group is scaled.
x = object.left * object.group.scaleX + object.group.left +(object.group.width/2) * object.group.scaleX;
y = object.top * object.group.scaleY + object.group.top + (object.group.height/2) * object.group.scaleY;
How to get x & y when the group is also rotated. I've come across the fabric.util.rotatePoint, but don't really know how to use it. I wish there was a function which would return the co-ordinates of a object relative to canvas taking account of where the originX, originY, scaling, rotation etc. Please do help. Thanks for reading.