[MÚSICA] [MÚSICA] Hola, ¿cómo estás? Vamos a entrar a la parte de desarrollo y bueno, al finalizar este video verás cómo hemos integrado poco a poco la librería que hemos escogido para que integres realidad aumentada a partir de geolocalización. Bueno, vamos a entrar entonces al desarrollo y para esta parte, recuerda hemos elegido una librería que you fue probada porque es bueno que te acostumbres a implementar soluciones parciales, es decir no es tanto que tú te desgastes todo desde cero, sino que utilices recursos que you están probados y que han desarrollado tal vez una empresa más grande o algún desarrollador independiente como es el caso de la librería que hemos escogido. Bueno vamos a programar entonces. Bueno, vamos a iniciar la parte de desarrollo, y lo que vamos a hacer es que you tenemos listo el proyecto. Dejemos en el video anterior la parte de elementos. Vamos a agregar entonces ahora un botón, ese botón va a iniciar la parte de realidad aumentada y va a abrir la cámara. Vamos a asociar ese botón y vamos a crear la referencia para que pueda funcionar al momento de darle clic. Esto you lo hemos hecho antes. Recuerda aquí definimos un action, le damos un nombre al método que se llama inicia. No hay un sender es decir no hay un objeto que se regresa, simplemente lo dejamos así y hacemos la referencia. Después, bueno you puedes cerrar esta parte, recuerda que no es necesario tenerlo abierto, vamos a agregar ahora en el view controller la referencia necesaria y con ella lo que vamos a hacer es hacer que se incluye la librería. Para eso necesitamos importar core location. Core location contiene las librerías necesarias para que tú puedas incluir puntos de geoposición, es una librería que you viene importada. Bueno, ahora, vamos a hacer que además se implemente la parte de la librería, que en este caso you el autor lo incluye como un demo, en este caso es AR Data Source para que tú definas cuál es la fuente de datos de los puntos virtuales o puntos de interés. Vamos, bueno, ahí te está marcando un error, vamos a incluir un método o una función que nos hace falta. Esta función lo que hace es que va a crear estos elementos virtuales, y va a disparar la parte de realidad aumentada. Entonces vamos a incluir la función, la función se llama AR, you está definida en la parte de la librería y seleccionamos la que nos regresa una vista. Entonces vamos a declarar una variable en la cual hacemos que esa constante va a declarar una vista de tipo AR Notation View. Ese AR Notation View va a ser la parte que se va a visualizar. Ahora, you está incluida dentro del demo, entonces vamos a incluirlo, vamos al proyecto demo que está definida dentro de la carpeta y simplemente lo arrastramos hacia nuestro proyecto, lo dejamos dentro de la solución completa y bueno recuerda que aquí lo puedes ordenar. En este caso lo voy a dejar abajo de view controller. you tenemos ahora la librería, bueno la clase que necesitamos. Ahí el desarrollador pone cosas muy sencillas, y simplemente es un botón y una etiqueta que están definidas a través de variables, las cuales se pueden modificar. Y bueno you tiene al mismo AR Notation y bueno you la podemos integrar dentro de nuestro proyecto. Ahora vamos de regreso a nuestra, a la función que estamos implementando, vamos a hacer que la vista sea de tipo test annotation view. Entonces se crea ese test annotation view y vamos a declararle un tamaño, un perdón, un primero un background color, ese background color vamos a definirlo a través de UI Color y a ese UI Color podemos decir que tiene un black color. Y al mismo tiempo definir qué tipo de alfa tiene, ¿no? you que lo veas corriendo vas a ver el sentido que tiene todo esto. Entonces vamos a dejarlo en 0.5 para que sea sólido y esté transparente, un poco transparente. Después vamos a definir el tamaño a través de vista.frame y vamos a definir el tamaño utilizando la clase de CGRect utilizando la firma que requiere de enteros. Bueno, esto empieza en 0 en x, en y 0, en el ancho vamos a darle que sean 150 pixeles y de alto van a ser, no se 60 pixeles por ejemplo. Y bueno, you con eso estamos creando los pequeños rectángulos y bueno esto lo que hace es que regresa esa vista y you con esa vista vamos a ver las, que esto lo proporciona el mismo desarrollador. Ahora, dentro de inicia, vamos a llamar otras funciones. Esas funciones lo que van a hacer es que van a inicializar la parte de realidad aumentada, entonces vamos a decir que se llama a inicia realidad aumentada con geolocalización iniciaRAG y la vamos a llamar esta función dentro de inicia, no, que es la acción que lanza el botón. Ahora, yo he preparado you las funciones necesarias las cuales vas a encontrar en la parte de anotaciones del profesor, estas 2 funciones nos van a servir para generar de manera aleatoria las anotaciones. Entonces, esto lo que hace es crear un arreglo de anotaciones en base a una latitud y longitud y a partir de una diferencia que estamos creando para que se pueda manejar los puntos. Entonces vamos a crear ese arreglo de anotaciones, ese rango sirve para establecer una semilla y que nos genere números aleatorios. Vamos a definir cuántos elementos queremos ver de manera aleatoria, creo un objeto AR Annotation en el cual definimos, llamamos otra función que se llama obtener posiciones que también la he preparado para ustedes, definimos un título y agregamos esa anotación, ese objeto de anotación a la parte del arreglo. Bueno, vamos por la siguiente función. you también la he preparado y en esta función lo que hacemos es que a partir de ese delta y la latitud y la longitud que se recibe, definimos de manera aleatoria Drand lo puedes encontrar en la documentación, genera solamente un número aleatorio entre 0 y 1, y bueno, lo hacemos una operación para tener una posición cercana que no esté muy lejana de tu punto de origen. Y lo vamos a definir con la latitud y la longitud. Al sumarlo se genera esa posición aleatoria, y esa posición se la damos a la anotación en su objeto de location que es realmente un CL Location. Bueno, con esto terminamos esta parte, vamos a concluir en el siguiente video. ¿Qué te ha parecido? Bueno, hemos hecho la parte básica de clases, funciones que necesitamos, y bueno en el siguiente video vamos a continuar con el desarrollo y vamos a terminar ese desarrollo y verás cómo se generan esas posiciones aleatorias dentro de la aplicación y cómo se integran you para que veas esos elementos virtuales dentro de tu aplicación a través de la cámara. Bueno, vamos al siguiente video y vamos a concluir el desarrollo. [MÚSICA]