Eso es todo.

Para comenzar a desarrollar, consulta nuestra documentación para desarrolladores.

Activar la Google Maps Android API

Para que puedas comenzar, te proporcionaremos orientación en la Google Developers Console a fin de que hagas primero algunas acciones:

  1. Crear o seleccionar un proyecto
  2. Activar la Google Maps Android API
  3. Crear claves correspondientes
Continuar

Maps API en Android Wear

A map on a wearable device

Con la Google Maps Android API, puedes crear una aplicación para dispositivos wearable basada en mapas que funcione en forma directa en dispositivos Android Wear. Los usuarios de tu aplicación pueden ver su ubicación en el mapa con solo echar un vistazo a sus pulseras. Pueden representar su posición en una ruta. Por ejemplo, pueden aplicar zoom de acercamiento para acceder a información detallada, o tocar un marcador para ver una ventana de información que proporcione tu aplicación.

En esta página se describe la funcionalidad de API disponible en un dispositivo portátil y se brinda orientación para que comiences a crear tu aplicación.

Primeros pasos con Android Wear

Crear una aplicación para dispositivos wearable con la Google Maps Android API es básicamente lo mismo que crear una aplicación de Google Maps para cualquier dispositivo Android. La diferencia recae en el diseño del que dispongas para el factor de formulario más pequeño del dispositivo wearable, para optimizar el uso y rendimiento.

Android Studio es la herramienta recomendada para desarrollos de Android Wear, ya que proporciona elementos prácticos de configuración de proyectos, inclusión de bibliotecas y empaquetado.

Si deseas obtener asistencia general para el diseño de una aplicación para dispositivos wearable, consulta las pautas de diseño para Android Wear. Si deseas obtener asistencia en la creación de tu primera aplicación para dispositivos wearable, consulta la guía para la creación de aplicaciones portátiles.

Crear los primeros mapas en Android Wear

En esta guía rápida se presupone que estás familiarizado con la Google Maps Android API, que has seguido la guía de Android Wear para la creación de un módulo para dispositivos wearable en tu aplicación y que deseas agregar un mapa al módulo para dispositivos wearable.

Agregar dependencias para tu módulo portátil

Asegúrate de que se incluyan las siguientes dependencias en el archivo build.gradle del módulo de Android Wear de tu aplicación:

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile 'com.google.android.support:wearable:1.2.0'
  provided 'com.google.android.wearable:wearable:1.0.0'
  compile 'com.google.android.gms:play-services-maps:11.2.0'
}

Nota: La dependencia provided garantiza que las clases cargadas en el tiempo de ejecución para admitir el modo ambiente también estén disponibles en el momento de la compilación.

Para obtener más información sobre las dependencias, consulta la guía de definición de diseños en Android Wear.

Incluye un cuadro de diálogo que permita a los usuarios cerrar la aplicación.

Se recomienda usar una clase DismissOverlayView para que se muestre el mapa en el dispositivo wearable. Al usar esta clase, puedes implementar el patrón de IU long-press-to-dismiss. Esto brinda a los usuarios una manera de salir de la aplicación con un gesto prolongado de clic o presión del dedo contra la pantalla durante unos instantes. Este patrón se recomienda debido a que la Google Maps Android API invalida el desplazamiento estándar de izquierda a derecha, generalmente usado para salir de una aplicación para dispositivos wearable. En la aplicación de Google Maps, el gesto de deslizamiento se usa para desplazarse por el mapa.

Agrega el elemento DismissOverlayView a tu definición de diseño:

<FrameLayout
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_height="match_parent"
   android:layout_width="match_parent">

  ...

  <android.support.wearable.view.DismissOverlayView
     android:id="@+id/dismiss_overlay"
     android:layout_height="match_parent"
     android:layout_width="match_parent"/>

</FrameLayout>

Cuando obtengas el objeto DismissOverlayView en tu actividad, configura un texto introductorio para comunicar a los usuarios que pueden salir de la aplicación con un gesto de clic prolongado, como se muestra a continuación:

public class MainActivity extends WearableActivity
        implements OnMapReadyCallback, GoogleMap.OnMapLongClickListener {

    private MapFragment mMapFragment;
    private DismissOverlayView mDismissOverlay;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.basic_wear_demo);

        mDismissOverlay =
            (DismissOverlayView) findViewById(R.id.dismiss_overlay);
        mDismissOverlay.setIntroText(R.string.basic_wear_long_press_intro);
        mDismissOverlay.showIntroIfNecessary();

        mMapFragment = (MapFragment) getFragmentManager()
                .findFragmentById(R.id.map);
        mMapFragment.getMapAsync(this);
    }
    ...
}

Escucha un gesto de clic prolongado y llama a DismissOverlayView.show() para mostrar un botón de salida, tras cuya selección por parte del usuario tu actividad finalizará:

public void onMapLongClick(LatLng point) {
    mDismissOverlay.show();
}

Agregar un mapa

Usa el método callback onMapReady(GoogleMap), como de costumbre, para administrar el objeto GoogleMap. El callback se activa cuando el mapa está listo para usarse. En el método callback, puedes agregar marcadores o polilíneas al mapa y también receptores, o mover la cámara. En el ejemplo siguiente se agrega un marcador cerca de la Ópera de Sydney:

public class MainActivity extends WearableActivity
        implements OnMapReadyCallback, GoogleMap.OnMapLongClickListener {

    private static final LatLng SYDNEY = new LatLng(-33.85704, 151.21522);
    private GoogleMap mMap;

    ...

    @Override
    public void onMapReady(GoogleMap map) {
        mMap = map;
        mMap.addMarker(new MarkerOptions().position(SYDNEY)
            .title("Sydney Opera House"));
        mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(SYDNEY, 10));
        mMap.setOnMapLongClickListener(this);
    }
}

Habilitar el modo ambiente

La Google Maps Android API admite el modo ambient para aplicaciones para dispositivos wearable. A veces, a las aplicaciones que admiten el modo ambiente se las denomina aplicaciones “siempre activas”. El modo ambiente se activa cuando el usuario deja de usar activamente la aplicación y permite que esta permanezca visible en el dispositivo wearable.

La Google Maps Android API ofrece una representación del mapa simplificada y con bajo contenido de colores para el modo ambiente, y el estilo de mapa se ajusta en forma automática cuando el dispositivo pasa del modo interactivo al modo ambiente. Todos los marcadores, objetos y controles de IU desparecen en el modo ambiente. Esto reduce el consumo de energía de tu aplicación y garantiza un aspecto uniforme respecto de otras aplicaciones ambiente, como caras de relojes.

Aplica los siguientes pasos para asegurarte de que en tu aplicación se use el modo ambiente:

  1. Actualiza tu Android SDK para incluir Android 5.1 (API 22) o una plataforma posterior; con esto se proporcionan las API que permiten la activación del modo ambiente de las actividades. Para obtener información sobre la manera de actualizar tu SDK, consulta la documentación de Android relacionada sobre la adición de paquetes de SDK.
  2. Asegúrate de que tu proyecto se oriente hacia Android 5.1 o una versión posterior, fijando targetSdkVersion en 22 o un valor superior en el manifiesto de la app.
  3. Agrega las dependencias wearable al archivo build.gradle de tu app. Consulta el ejemplo en esta página.
  4. Agrega la entrada de biblioteca compartida de wearables al manifiesto de app para wearables, como se describe en la clase de capacitación de Android sobre cómo mantener visible tu app.
  5. Agrega el permiso WAKE_LOCK a los manifiestos de app para dispositivos portátiles y wearables, como se describe en la clase de capacitación de Android sobre cómo mantener visible tu app.
  6. Crea una actividad que extienda WearableActivity.
  7. En el método onCreate() de tu actividad, llama al método setAmbientEnabled(). Con esto se indica al sistema operativo que la aplicación siempre se encuentra activa, de modo que cuando el dispositivo se apaga debe activarse en él el modo ambiente en lugar de la cara de reloj.
  8. Configura tu mapa para que admita el modo ambiente. Puedes hacerlo configurando el atributo attribute map:ambientEnabled="true" en el archivo de diseño XML de la actividad o, de manera programática, configurandoGoogleMapOptions.ambientEnabled(true)`. Este ajuste indica a la API que debe cargar previamente los mosaicos de mapas necesarios para usarlos en el modo ambiente.
  9. Cuando la actividad realiza un cambio al modo ambiente, el sistema llama al método onEnterAmbient() en tu actividad para wearables. Invalida onEnterAmbient() y llama a MapFragment.onEnterAmbient(ambientDetails) o MapView.onEnterAmbient(ambientDetails). La API activa un cambio a una representación del mapa no interactiva y con bajo contenido de colores.
  10. De manera similar, en onExitAmbient() llama a MapFragment.onExitAmbient() o MapView.onExitAmbient(). La API activa un cambio a la representación normal del mapa.

Con el código siguiente se habilita el modo ambiente en la aplicación y el mapa:

public class MainActivity extends WearableActivity
        implements OnMapReadyCallback, GoogleMap.OnMapLongClickListener {

    private MapFragment mMapFragment;

    public void onCreate(Bundle savedState) {
        super.onCreate(savedState);

        // Enable ambient support, so the map remains visible in a simplified,
        // low-color display when the user is no longer actively using the app
        // and the app is still visible on the watch face.
        setAmbientEnabled();

        // ... Perform other activity setup processes here too ...
    }

    /**
     * Starts ambient mode on the map.
     * The API swaps to a non-interactive and low-color rendering of the map
     * when the user is no longer actively using the app.
     */
    @Override
    public void onEnterAmbient(Bundle ambientDetails) {
        super.onEnterAmbient(ambientDetails);
        mMapFragment.onEnterAmbient(ambientDetails);
    }

    /**
     * Exits ambient mode on the map.
     * The API swaps to the normal rendering of the map when the user starts
     * actively using the app.
     */
    @Override
    public void onExitAmbient() {
        super.onExitAmbient();
        mMapFragment.onExitAmbient();
    }
}

Puedes actualizar la pantalla mientras la aplicación se encuentre en el modo ambiente. Para obtener más información acerca de la actualización del contenido y el modo ambiente en general, consulta la clase de capacitación de Android sobre la manera de mantener visible tu aplicación.

Usar Street View en Android Wear

Street View es totalmente compatible con dispositivos wearable.

A fin de que los usuarios puedan cerrar la aplicación al ver un panorama de Street View, usa la interfaz StreetViewPanorama.OnStreetViewPanoramaLongClickListener para escuchar gestos de clic prolongados. Cuando un usuario aplique un clic prolongado en algún punto de la imagen de Street View, recibirás un evento onStreetViewPanoramaLongClick(StreetViewPanoramaOrientation). Llama a DismissOverlayView.show() para que se muestre un botón de cierre.

Ejemplo de código

En GitHub se encuentra disponible una aplicación de ejemplo que puedes usar como punto de partida para tu aplicación. En el ejemplo se muestra la manera de configurar un Google Map en Android Wear.

Funcionalidad admitida en la Maps API en Android Wear

En esta sección se describen las diferencias entre funcionalidades admitidas para mapas en dispositivos wearable y portátiles (teléfonos y tablets). Las funciones de API no mencionadas a continuación deben funcionar según lo establecido para la API completa.

Funcionalidad
Modo totalmente interactivo y modo básico

Puedes usar la Google Maps Android API en el modo totalmente interactivo o el modo básico. Considera usar el modo básico si deseas optimizar el rendimiento en el dispositivo wearable y en tu aplicación no es necesaria la compatibilidad con aspectos interactivos, como gestos o acciones de desplazamiento y zoom en el mapa.

En el modo básico, la intención para iniciar la aplicación móvil de Google Maps cuando el usuario toca el mapa queda deshabilitada y no es posible habilitarla en un dispositivo wearable.

Para hallar una lista completa de diferencias entre el modo básico y el modo totalmente interactivo, consulta la documentación sobre el modo básico .

Barra de herramientas del mapa La barra de herramientas del mapa se encuentra deshabilitada y no es posible habilitarla en un dispositivo wearable.
Controles de la IU Los controles de la IU se encuentran deshabilitados de manera predeterminada en dispositivos wearable. Esto incluye los controles de zoom, brújula, y My location”. Puedes habilitarlos usando UiSettings como de costumbre.
Gestos Los gestos de un toque funcionan como se espera. Entre los ejemplos se incluyen los gestos de toque y arrastre para desplazar el mapa, los de toque doble para aplicar zoom de acercamiento y los de toque con dos dedos para aplicar zoom de alejamiento. La compatibilidad varía en el caso de los gestos multitáctiles, según el dispositivo del usuario. Entre los ejemplos de gestos multitáctiles, se incluye el uso de dos dedos para inclinar el mapa (presión), hacer zoom sobre él (acercamiento o alejamiento) y aplicarle rotación (giro).
Mapas de interiores y edificios Los mapas de interiores se encuentran deshabilitados de manera predeterminada en dispositivos wearable. Puedes habilitarlos llamando a GoogleMap.setIndoorEnabled(true). Si se encuentran habilitados, en ellos se mostrará el nivel de piso predeterminado. El elemento seleccionador de niveles de la IU no es compatible con los dispositivos wearable.
Superposiciones de mosaicos Las superposiciones de mosaicos no son compatibles con los dispositivos wearable.

Prácticas recomendadas para el desarrollo con la Maps API en Android Wear

Cómo brindar la mejor experiencia de usuario en tu aplicación:

  • El mapa debe ocupar una proporción amplia de la pantalla. Esto es necesario para optimizar la utilidad del mapa en el factor de formulario pequeño de un dispositivo wearable.
  • Al diseñar la experiencia del usuario de tu aplicación, ten en cuenta que la batería de un dispositivo wearable tiene poca capacidad. Mantener la pantalla activa y el mapa visible tendrá efecto sobre el rendimiento de la batería.

Enviar comentarios sobre...

Google Maps Android API
Google Maps Android API
Si necesitas ayuda, visita nuestra página de asistencia.