2012-02-08 12 views
5

Estoy creando una aplicación de Android basada en Realidad Aumentada. La idea principal es cuando el usuario abre mi aplicación, por defecto la cámara del dispositivo se inicia en modo de vista previa. De acuerdo con la ubicación actual del GPS del usuario y la dirección en que se encuentra el usuario/cámara, quiero calcular ¿cuál es el conjunto de latitudes y longitudes en el rango?Encontrar un conjunto de latitudes y longitudes utilizando la latitud, longitud y dirección actual del usuario para ver un objeto

La siguiente imagen explica muy bien mi situación. Tengo un conjunto completo de latitudes y longitudes como todas las manchas negras de la figura. Ahora supongamos que el usuario está en el centro del círculo. También considerando que él está viendo en dirección norte. Si consideramos un ángulo de 45 grados hacia la dirección norte. Quiero obtener un conjunto de latitudes y longitudes que vienen en esta área visible de 45 grados.

enter image description here

estoy en condiciones de obtener la dirección en la que se enfrenta a la cámara del usuario. También puedo encontrar la ubicación actual del GPS del usuario. Tengo un conjunto completo de latitudes y longitudes almacenadas en mi base de datos SQLite. Ahora quiero calcular el conjunto de latitudes y longitudes a las que se enfrenta la cámara del dispositivo del usuario.

Espero haber explicado bastante bien aquí. Es un poco urgente si alguien puede ayudar con esto.

Gracias de antemano.

+0

cómo se consigue que la dirección se enfrenta a la cámara? ¿Me puede dar algunos detalles? –

Respuesta

3

Para obtener el ángulo de visión, puede utilizar como una aproximación el método Camera.Parameters getHorizontalViewAngle(). Llamémoslo alfa. También conoce la orientación de su dispositivo desde su punto de vista hacia el Norte magnético, llamémoslo beta.

Desde allí, dentro de un radio dado, recorra el conjunto de ubicaciones de la base de datos, calcule el rumbo desde su posición hasta su, y verifique si está dentro del intervalo [beta-alpha/2, beta + alpha/2]

Si no está realmente apurado en esto, le sugiero echar un vistazo a Mixare, es un marco de código abierto que se ocupa de la ubicación y AR.

+0

muchas gracias ... voy a probar con ambos al menos me dio un paso para seguir adelante ... gracias de nuevo ... –

+0

Encontré este enlace muy útil ... http: //www.movable -type.co.uk/scripts/latlong.html Ha proporcionado código JavaScript de muestra a través del cual puedo encontrar rumbo desde la ubicación del usuario hasta el punto de interés ... gracias a MobileCushion por guiarme en las instrucciones correctas. .. –

+0

¡Me alegro de que haya ayudado! ¡sigue así! – MobileCushion

3

puede consultar el código de mixare, un navegador de realidad aumentada publicado bajo la GPLv3. El repositorio está disponible en: http://github.com/mixare/mixare

Hay muchos detalles que debe tener en cuenta, comenzando por el hecho de que el campo de visión de la cámara solo está disponible programáticamente desde la versión 2.3 (IIRC) de android. Encuentra estos y muchos otros en la clase de compatibilidad.

HTH, Daniele - equipo mixare

+0

felicitaciones por su trabajo y el de su equipo; estado usándolo, ¡es genial! :) – MobileCushion

+0

Muchas gracias por las amables palabras :-) – Daniele

+0

@Daniele, Hola, acabo de instalar su aplicación en el dispositivo. Es impresionante. Buen trabajo. Sigue haciendo un trabajo tan hermoso ... Esto me va a ayudar mucho ... Gracias –

Cuestiones relacionadas