Beispiel #1
0
        public bool ConvertLocationAndCheck(float latitude, float longitude)
        {
            bool result = false;

            float[] mercator = GeoConverter.GeoCoorToMercatorProjection(latitude, longitude);
            float[] pixel    = GeoConverter.MercatorProjectionToPixel(mercator, zoom);
            int[]   tile     = GeoConverter.PixelToTileCoordinate(pixel);

            if (firstAcess)
            {
                centerMercatorX = mercator[0];
                centerMercatorY = mercator[1];
                firstAcess      = false;
            }

            if (tile[0] == tileX && tile[1] == tileY)
            {
                result = false;
            }
            else
            {
                centerMercatorX = mercator[0];
                centerMercatorY = mercator[1];

                tileX  = tile[0];
                tileY  = tile[1];
                result = true;
            }

            this.posX       = mercator[0] - centerMercatorX;
            this.posY       = mercator[1] - centerMercatorY;
            this.centerPosX = centerMercatorX; //mercator[0];
            this.centerPosY = centerMercatorY; //mercator[1];

            return(result);
        }