Inicio > MAF / ADF Mobile > MAF tips: Iniciar ruta en el navegador GPS del dispositivo

MAF tips: Iniciar ruta en el navegador GPS del dispositivo

MAF-tips_RGB

En esta ocasión vamos a ver cómo incluir un botón en una aplicación MAF que nos abra el navegador GPS del dispositivo con una ruta a un lugar concreto.

En los sistemas operativos para dispositivos móviles actuales disponemos de una utilidad llamada “URL schemes“. Estas URLs las definen las mismas aplicaciones y el sistema operativo se encarga de asociarlas con ellas. De este modo, podemos invocar a otras aplicaciones usando estas URLs.

En el caso que nos ocupa, en función de la plataforma móvil en la que se ejecuta la aplicación, tenemos dos posibles aplicaciones candidatas a ser usadas como navegador GPS: en iOS, “Mapas“, y en Android, “Google Maps“. Ambas aplicaciones disponen de “URL schemes” para ser invocadas. En los siguientes links encontrareis información acerca de como construir “URL schemes” para estas aplicaciones: iOS MapasGoogle Maps.

Supongamos que ya tenemos una aplicación base a la que deseamos añadirle la posibilidad de iniciar el navegador GPS con una ruta desde la ubicación actual del dispositivo hasta, pongamos, la oficina de avanttic en Barcelona.

Para ello, necesitamos simplemente dos elementos:

  1. Backing bean con un método para construir la URL adecuada
  2. Componente “goLink” en una página AMX para lanzar la URL

Código java para generar la URL:

    public static final String OS_IOS = "IOS";
    public static final String OS_ANDROID = "ANDROID";

    private String endAddress = "Calle Aragó 182, 08011 Barcelona";

    public String getMapsUrl() {
        String url = null;
        DeviceManager dvcMgr = DeviceManagerFactory.getDeviceManager();

        // NOTA: si no se indica dirección de inicio, por defecto coge la posición actual
        String _saddr = "";

        String _daddr = "";
        if (endAddress!=null) {
            _daddr = endAddress.replace(' ', '+');
        }

        if (OS_IOS.equals(dvcMgr.getOs().toUpperCase())) {
            url = "maps://?saddr=" + _saddr +
                                    "&daddr=" + _daddr +
                                    "&dirflg=d";
        } else {
            // Si no se indica posición actual,  Google Maps toma
            // la posición actual como la inical
            url = "google.navigation:q=" + _daddr + "&mode=d";
        }
        return url;
    }

 

Y en nuestra página AMX, incluimos el componente “goLink”, al cual le vamos a vincular la propiedad “url” al método del bean:

<amx:goLink text="Llévame a Avanttic!" id="gl3" url="#{viewScope.naveagadorBean.mapsUrl}">

 

Con estas dos acciones ya disponemos de un botón para iniciar la ruta en el navegador. En el caso de querer generar la aplicación para entornos iOS, nos queda un último paso a realizar. A partir de Xcode 7, en los proyectos iOS es necesario declarar qué “URL schemes” se usan. Oracle MAF nos proporciona una propiedad en el archivo de configuración “maf-application.xml” donde indicar las “URL schemes” que se usan en la aplicación. En este momento, este paso sólo es necesario para iOS, con lo que podríamos poner únicamente la URL a “Mapas”. Aquí os muestro una captura de cómo rellenar la propiedad:

Registrar URL Scheme

Ya tenemos integrada en nuestra aplicación la opción de iniciar el navegador GPS.

Como habéis podido ver, las “URL Schemes” nos permitirán dotar de más funcionalidad a las aplicaciones desarrolladas con MAF.

  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: