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.
Antes de empezar
Preparar las credenciales y el AAR
- Cree una cuenta de HERE Developer.
- Cree un proyecto en HERE Developer Portal.
- Genere el Access Key ID y el Secret.
- Descargue el AAR de HERE SDK Explore Android. Funciona con la serie 4.26.
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 root>/
└── libs/
└── heresdk-explore-android-4.27.2.0.309975.aarAgregar 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.
plugins {
id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") version "2.0.1" apply false
}Agregar dependencias
El AAR se referencia como un archivo local. Ajuste el nombre del archivo al que realmente colocó.
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")
}Configurar el manifiesto y las credenciales
HERE usa tanto ID como Secret. Ambos se pasan a través de marcadores de posición.
<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>HERE_ACCESS_KEY_ID=your_actual_here_access_key_id HERE_ACCESS_KEY_SECRET=your_actual_here_access_key_secret
VERIFICAR
Lo que deberías ver
Si aparece el mapa de HERE, ha terminado.
@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.
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.