Documentación / Configuración / Android / HERE

Configurar HERE

Pasos para usar el HERE SDK (se espera la Edition Explore) desde MapConductor. Dado que el HERE SDK se distribuye como AAR y no a través de Maven, se incluyen pasos para colocar archivos en el proyecto.

MODULE
com.mapconductor:for-here
API KEY
Key ID + Secret
VIEW
HereMapView
TIME
25 minutos
El mismo proveedor, otras plataformasiOSReact

Antes de empezar

Entorno de desarrollo de Android (Android Studio)
Cuenta de desarrollador de HERE
Access Key ID y Access Key Secret
Archivo AAR de HERE SDK Explore Android (serie 4.26)
STEP 01

Preparar las credenciales y el AAR

  1. Cree una cuenta de HERE Developer.
  2. Cree un proyecto en HERE Developer Portal.
  3. Genere el Access Key ID y el Secret.
  4. Descargue el AAR de HERE SDK Explore Android. Funciona con la serie 4.26.
STEP 02

Colocar el AAR en el proyecto

Coloque el AAR en libs/ del proyecto. El nombre del archivo debe coincidir exactamente con el nombre al que hace referencia Gradle.

project layouttext
<project root>/
└── libs/
    └── heresdk-explore-android-4.27.2.0.309975.aar
El número de compilación incluido en el nombre del archivo es un valor de referencia. El desarrollo y la verificación de MapConductor se realizaron con esta versión, pero no es necesario fijarla aquí. MapConductor está diseñado para depender lo menos posible de las funciones específicas de cada SDK de mapas, por lo que funciona aunque la versión sea un poco diferente. Sustituya el nombre del archivo por el del archivo AAR descargado realmente.
PRECAUCIÓN
La redistribución del AAR de HERE SDK está restringida. No lo confirme en un repositorio público (agregue libs/heresdk-*.aar a .gitignore).
STEP 03

Agregar Secrets Gradle Plugin

Un mecanismo para evitar colocar claves en el control de fuente. El complemento lee secrets.properties e inserta los valores en los marcadores de posición de AndroidManifest.xml en el momento de la compilación.

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

Agregar dependencias

El AAR se referencia como un archivo local. Ajuste el nombre del archivo al que realmente colocó.

app/build.gradle.ktsKotlin
plugins {
    // ... other plugins
    id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
}

dependencies {
    // HERE SDK (local AAR).
    // This build number is only the one MapConductor is developed against —
    // use the file name of the AAR you downloaded.
    implementation(
        files("${rootProject.projectDir}/libs/heresdk-explore-android-4.27.2.0.309975.aar")
    )

    // MapConductor BOM pins every module below
    implementation(platform("com.mapconductor:mapconductor-bom:1.3.1"))

    implementation("com.mapconductor:core")
    implementation("com.mapconductor:for-here")
}
STEP 05

Configurar el manifiesto y las credenciales

HERE usa tanto ID como Secret. Ambos se pasan a través de marcadores de posición.

AndroidManifest.xmlXML
<manifest>
    <!-- Add internet and location permissions -->
    <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>
        <!-- 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}" />
    </application>
</manifest>
secrets.propertiesProperties
HERE_ACCESS_KEY_ID=your_actual_here_access_key_id
HERE_ACCESS_KEY_SECRET=your_actual_here_access_key_secret
PRECAUCIÓN
No confirme secrets.properties en el control de versiones. Agregarlo a .gitignore ayuda a prevenir accidentes. En CI, se pasan a través de otras vías seguras, como variables de entorno.

VERIFICAR

Lo que deberías ver

Si aparece el mapa de HERE, ha terminado.

TestHere.ktJetpack Compose
@Composable
fun TestHere(modifier: Modifier = Modifier) {
    val mapState = rememberHereMapViewState(
        cameraPosition = MapCameraPosition(
            position = GeoPoint(35.6762, 139.6503),
            zoom = 12.0,
        ),
    )

    // If the map appears, the setup is correct.
    HereMapView(modifier = modifier, state = mapState)
}

Diseños de mapa

HereMapDesign es compatible con los esquemas de mapa de HERE. Hay estilos para diferentes propósitos, como día/noche o para logística.

HereMapDesign
Notes
NormalDay / NormalNight
Estilo estándar día/noche
Satellite
Imagen satelital
HybridDay / HybridNight
Imagen satelital con carreteras y etiquetas
LiteDay / LiteNight
Estilo ligero con reducción de información
LogisticsDay
Para logística
RoadNetworkDay
Enfoque en la red vial

Solución de problemas

El mapa no se carga

  • Verifique que la Access Key ID y el Secret en `secrets.properties` sean correctos.
  • Verifique que la clave sea válida (no deshabilitada).

Se indica que no se encuentra el AAR

  • Verifique que el AAR esté en `libs/`.
  • Verifique que el nombre del archivo coincida exactamente con lo especificado en `build.gradle.kts` (incluido el número de versión).

La compilación falla

  • Verifique que las coordenadas y la versión del SDK de mapas coincidan con lo especificado en el catálogo de versiones.
  • Verifique que la definición del repositorio esté en `settings.gradle.kts` (si `repositoriesMode` es `FAIL_ON_PROJECT_REPOS`, se ignoran los `repositories` del lado del módulo).
  • Si hay varios SDK de mapas instalados simultáneamente, verifique con `./gradlew :app:dependencies` que no haya conflictos de dependencias.

Siguiente

Cuando aparece `HereMapView`, puede superponer capas con la misma API común que otros proveedores.