Mill Cylindrical projection

But with the formula shown above, calculating the x, y pixel based on the Latitude and longitude , the actually result has a big difference with the latitude shown in the Google map.
And with WGS84 the C# code list below
double RefLat=0;
double N0;
double q1,q2,q;
double dLat=srcLatitude;
double dLong=srcLongitude;
double CentralMeridian=0;
double x,y;
N0 = 6378137.0 / Math.Sqrt( 1-Math.Pow(0.081819190843,2)*Math.Pow(Math.Sin(RefLat*Math.PI/180),2) );
q1 = Math.Log( Math.Tan( (180.0/4.0+dLat/2.0)*Math.PI/180.0 ) );
q2 = 0.081819190843/2 * Math.Log( (1+0.081819190843*Math.Sin(dLat*Math.PI/180.0) ) /
(1-0.081819190843*Math.Sin(dLat*Math.PI/180.0) ) );
q = q1 – q2 ;
x = N0 * Math.Cos(RefLat*Math.PI/180.0) * ((dLong-CentralMeridian)/57.29577951) ;
y = N0 * Math.Cos(RefLat*Math.PI/180.0) * q ;
89.9999 (latitude)=88943153.2428999 (meter)
85.0207077431259(latitude)=19955741.4661156(meter)
31.9(latitude)=3727614.05671615(meter)
We know that when zoom level=7 , when latitude = -31.9 ,the y index of the tiles is 608
At first I thought , Google map the latitude range is from -90 to 90. but
3727614.05671615/88943153.2428999=21 . then plus 512 = 533 (far below 608)
I cannot figure out how Google use the map projection algorithm . I am a bit confused.
Then I remembered Google map API provides a API called fromDivPixelToLatLng() ,which computes the geographical coordinates from pixel coordinates in the div that holds the draggable map.
So I wrote a simple JavaScript ,then I found the max latitude Google map uses is 85.0207077431259.
(3727614.05671615/19955741.4661156+1)*512=607.63 (round to 608).
So here comes the final result. Google map uses WGS84 and the
Longitude [-180,180]
Latitude [-85.0207077431259, 85.0207077431259]