Ejemplo n.º 1
0
        public static Point fromLatLngToPixel(GeoLatLng latLng, int zoomLevel)
        {
            double latitude   = latLng.latitude;
            double longitude  = latLng.longitude;
            double power      = 8 + zoomLevel;
            double mapsize    = Math.Pow(2, power);
            double origin     = mapsize / 2;
            double longdeg    = Math.Abs(-180 - longitude);
            double longppd    = mapsize / 360;
            double longppdrad = mapsize / (2 * Math.PI);
            double pixelx     = longdeg * longppd;
            double e          = Math.Sin(latitude * (1 / 180.0 * Math.PI));

            if (e > 0.9999)
            {
                e = 0.9999;
            }
            if (e < -0.9999)
            {
                e = -0.9999;
            }

            double pixely = origin + 0.5 * Math.Log((1 + e) / (1 - e)) * (-longppdrad);

            return(new Point((int)pixelx, (int)pixely));
        }
Ejemplo n.º 2
0
        public static Point fromLatLngToPixel(GeoLatLng latLng, int zoomLevel)
        {
            double latitude = latLng.latitude;
            double longitude = latLng.longitude;
            double power = 8 + zoomLevel;
            double mapsize = Math.Pow(2, power);
            double origin = mapsize / 2;
            double longdeg = Math.Abs(-180 - longitude);
            double longppd = mapsize / 360;
            double longppdrad = mapsize / (2 * Math.PI);
            double pixelx = longdeg * longppd;
            double e = Math.Sin(latitude * (1 / 180.0 * Math.PI));
            if (e > 0.9999)
            {
                e = 0.9999;
            }
            if (e < -0.9999)
            {
                e = -0.9999;
            }

            double pixely = origin + 0.5 * Math.Log((1 + e) / (1 - e)) * (-longppdrad);
            return new Point((int)pixelx, (int)pixely);
        }