Skip to content

Configuración de HERE Maps

Esta sección explica cómo configurar el HERE SDK (se asume la edición Explore) junto con MapConductor.

  • Entorno de desarrollo Android
  • Cuenta de desarrollador de HERE
  • Credenciales de API de HERE

1. Configuración en HERE Developer Portal

Section titled “1. Configuración en HERE Developer Portal”
  1. Crea una cuenta de HERE Developer.
  2. Accede al HERE Developer Portal.
  3. Crea un nuevo proyecto.
  4. Genera credenciales de API (Access Key ID y Secret).
  5. Descarga el archivo AAR del HERE SDK.
  1. Descarga HERE SDK Explore Android (por ejemplo, 4.23.2.0.210004).

  2. Coloca el archivo AAR en el directorio libs/ de tu proyecto:

    libs/heresdk-explore-android-4.23.2.0.210004.aar
  3. Asegúrate de que el nombre del archivo AAR coincida con el que se referencia en Gradle.

Añade el Secrets Gradle Plugin en el build.gradle.kts o build.gradle de la raíz del proyecto:

// (root)/build.gradle.kts
plugins {
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") version "2.0.1" apply false
}

Después, añade las dependencias y aplica el plugin en el build.gradle.kts o build.gradle del módulo de la app:

// App build.gradle.kts
plugins {
// ... otros plugins
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
}
dependencies {
// HERE SDK (AAR local)
implementation(
files("${rootProject.projectDir}/libs/heresdk-explore-android-4.23.2.0.210004.aar")
)
// BOM de MapConductor para la gestión de versiones (v1.1.3)
implementation(platform("com.mapconductor:mapconductor-bom:1.1.3"))
// Módulos de MapConductor (versiones gestionadas por el BOM)
implementation("com.mapconductor:core")
implementation("com.mapconductor:for-here")
}

El Secrets Gradle Plugin lee automáticamente el archivo secrets.properties y puede utilizarse para inyectar valores en tu AndroidManifest.xml.

Añade los marcadores de posición de las credenciales de HERE en tu AndroidManifest.xml:

AndroidManifest.xml
<application>
<!-- HERE Access Key ID -->
<meta-data
android:name="HERE_ACCESS_KEY_ID"
android:value="${HERE_ACCESS_KEY_ID}" />
<!-- HERE Access Key Secret -->
<meta-data
android:name="HERE_ACCESS_KEY_SECRET"
android:value="${HERE_ACCESS_KEY_SECRET}" />
<!-- Añade permisos de internet y ubicación -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
</application>
  • Añade las credenciales reales de HERE en el archivo secrets.properties.
  • El Secrets Gradle Plugin reemplaza automáticamente ${HERE_ACCESS_KEY_ID} y ${HERE_ACCESS_KEY_SECRET} en tu AndroidManifest.xml por los valores reales.
  • En entornos de CI/CD, puedes utilizar variables de entorno u otros métodos seguros para proporcionar estos valores.
secrets.properties
HERE_ACCESS_KEY_ID=your_actual_here_access_key_id
HERE_ACCESS_KEY_SECRET=your_actual_here_access_key_secret

Para verificar la configuración de HERE Maps:

  1. Compila y ejecuta la app.
  2. Comprueba que el mapa de HERE se muestra correctamente.
  3. Prueba interacciones de mapa y funciones específicas de HERE.
@Composable
fun TestHERE() {
val mapState = rememberHereMapViewState()
HereMapView(state = mapState) {
// Si esta pantalla se muestra correctamente, tu configuración es válida
}
}

Resultado de TestHERE

El mapa no se carga

  • Verifica que las credenciales de HERE en secrets.properties sean correctas.
  • Comprueba que el Access Key ID y el Secret estén configurados correctamente y sigan activos.

No se encuentra el archivo AAR

  • Verifica que el archivo AAR esté en el directorio libs/.
  • Confirma que el nombre del archivo coincida exactamente con el que se referencia en Gradle.

Errores de compilación

  • Asegúrate de que la versión del HERE SDK coincida con la configuración de Gradle.
  • Comprueba que secrets.properties contenga las claves necesarias.

Una vez que el HERE SDK esté configurado correctamente, puedes usar el componente HereMapView de MapConductor con la API unificada.