I have created a square (Autoshape object) with the length of 2 kilometers, the location of the center point is known, how do I get the locations of its 4 vertices in MapPoint?

I used "curShape.Vertices.GetLength(0)" the same function for a Polygon (Freeform object), the code crashed for the "AutoShape" square.

I saw some author used:

'These calculations are customized for Minnesota.....
'A degree of latitude is always about 69 miles. Using 1/68th of a degree
'per mile ensures that the rectangle is slightly larger than the radius
'we are looking for.
dbLatNorth = dbLatitude + (CDbl(txtTolerance.Text) / CDbl(68))
dbLatSouth = dbLatitude - (CDbl(txtTolerance.Text) / CDbl(68))
'Near Minnesota's northern border 1 degree of longitude is a bit more than
'44 miles. It is about 50 miles at the southern border. Using 1/44th of a
'degree per mile again ensures that we capture all points that are close.
dbLongEast = dbLongitude + (CDbl(txtTolerance.Text) / CDbl(44))
dbLongWest = dbLongitude - (CDbl(txtTolerance.Text) / CDbl(44))

How many miles are equal to 1 degree of longitude or 1 degree of latitude for Toronto, Ontario, Canada? How do I find out this information?

Need help and thanks in advance.