public decimal[] GetLatLng(decimal lat, decimal lng)
        {
            int PX, PY;
            int OX = 0;
            int OY = 0;
            int PX1, PY1;
            decimal[] LatLng = new decimal[] { lat, lng };
            try
            {
                Database db = DatabaseFactory.CreateDatabase();
                string sqlCmd = "SELECT TOP 1 X,Y FROM Offset WHERE Lat=" + lat.ToString("0.00") + " AND Lng=" + lng.ToString("0.00");
                DbCommand dbCmd = db.GetSqlStringCommand(sqlCmd);
                using (IDataReader dr = db.ExecuteReader(dbCmd))
                {
                    if (dr.Read())
                    {
                        OX = GetInt32(dr, "X");
                        OY = GetInt32(dr, "Y");
                    }
                }
                if (OX != 0 && OY != 0)
                {
                    Map.LatLongToPixelXY(Convert.ToDouble(lat), Convert.ToDouble(lng), 18, out PX, out PY);                    PX1 = PX + OX;
                    PY1 = PY + OY;                    LatLng[0] = Convert.ToDecimal(Map.PixelYToLat(PY1, 18));
                    LatLng[1] = Convert.ToDecimal(Map.PixelXToLng(PX1, 18));
                }
            }
            catch (Exception ex)
            {
                DAL.LogHelper.Write(DateTime.Now.ToString()+ex.Message.ToString());
            }
            return LatLng;
        }