Configuración de ArcGIS Maps
Esta sección describe los pasos para configurar el SDK de ArcGIS Maps junto con MapConductor.
Requisitos previos
- Entorno de desarrollo Android
- Cuenta de desarrollador de ArcGIS
- Clave de API de ArcGIS
Pasos de configuración
1. Configuración en ArcGIS Developer Dashboard
- Crea una cuenta de desarrollador de ArcGIS
- Accede al ArcGIS Developer Dashboard
- Crea una nueva aplicación o selecciona una existente
- Genera una clave de API con los ámbitos adecuados
- Guarda la clave de API para usarla en tu aplicación
2. Configuración de Gradle
Asegúrate de que el repositorio Maven de Esri esté configurado (este repositorio ya lo incluye en settings.gradle.kts):
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral()
// Esri public repository for ArcGIS Maps SDK maven { url = uri("https://esri.jfrog.io/artifactory/arcgis") } }}dependencyResolutionManagement { repositoriesMode = RepositoriesMode.FAIL_ON_PROJECT_REPOS repositories { google() mavenCentral()
// Esri public repository for ArcGIS Maps SDK maven { url "https://esri.jfrog.io/artifactory/arcgis" } }}Añade el Secrets Gradle Plugin en el build.gradle.kts o build.gradle de la raíz del proyecto:
// (root)/build.gradle.ktsplugins { id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") version "2.0.1" apply false}// (root)/build.gradleplugins { 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:
plugins { // ... otros plugins id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")}
dependencies { // ArcGIS Maps SDK implementation(platform("com.esri:arcgis-maps-kotlin-toolkit-bom:200.7.0")) implementation("com.esri:arcgis-maps-kotlin:200.7.0") implementation("com.esri:arcgis-maps-kotlin-toolkit-geoview-compose") implementation("com.esri:arcgis-maps-kotlin-toolkit-authentication")
// BOM de MapConductor para la gestión de versiones (v1.1.7) implementation(platform("com.mapconductor:mapconductor-bom:1.1.7"))
// Módulos de MapConductor (versiones gestionadas por el BOM) implementation("com.mapconductor:core") implementation("com.mapconductor:for-arcgis")}plugins { // ... otros plugins id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'}
dependencies { // ArcGIS Maps SDK implementation platform("com.esri:arcgis-maps-kotlin-toolkit-bom:200.7.0") implementation "com.esri:arcgis-maps-kotlin:200.7.0" implementation "com.esri:arcgis-maps-kotlin-toolkit-geoview-compose" implementation "com.esri:arcgis-maps-kotlin-toolkit-authentication"
// BOM de MapConductor para la gestión de versiones (v1.1.7) implementation platform("com.mapconductor:mapconductor-bom:1.1.7")
// Módulos de MapConductor (versiones gestionadas por el BOM) implementation "com.mapconductor:core" implementation "com.mapconductor:for-arcgis"}El Secrets Gradle Plugin lee automáticamente el archivo secrets.properties y puede inyectar sus valores en AndroidManifest.xml en tiempo de compilación.
3. Configuración de AndroidManifest
Añade el marcador de posición de la clave de API de ArcGIS en tu AndroidManifest.xml:
<application> <!-- ArcGIS API Key --> <meta-data android:name="ARCGIS_API_KEY" android:value="${ARCGIS_API_KEY}" />
<!-- 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>4. Configuración de la clave de API
Añade la clave de API real en tu archivo secrets.properties. El Secrets Gradle Plugin reemplaza automáticamente ${ARCGIS_API_KEY} en AndroidManifest.xml por el valor real.
ARCGIS_API_KEY=your_actual_arcgis_api_key_here5. Configuración de licencia
El SDK de ArcGIS requiere una configuración de licencia adecuada. Configura la licencia en tu aplicación:
// In your Application class or MainActivity// ArcGISEnvironment.setLicense("your_license_key_here") // Optional for basic useVerificación
Para verificar tu configuración de ArcGIS:
- Compila y ejecuta la app
- Comprueba que el mapa de ArcGIS se muestre correctamente
- Prueba las funcionalidades GIS específicas (si las usas)
- Verifica que la autenticación funcione correctamente
@Composablefun TestArcGIS() { val state = rememberArcGISMapViewState( cameraPosition = MapCameraPosition( position = GeoPoint.fromLatLong(0.0, 0.0), zoom = 5.0, ), )
ArcGISMapView( modifier = modifier, state = state, ) { // Si esta pantalla se muestra correctamente, tu configuración es válida }}
Solución de problemas
Problemas comunes
El mapa no se carga
- Verifica que la clave de API en
secrets.propertiessea correcta - Comprueba que la clave de API tenga los ámbitos adecuados en el panel de ArcGIS
Errores de licencia
- Asegúrate de que
ArcGISEnvironment.setApiKey()se llame antes de usar el mapa - Para apps de producción, configura la licencia según la documentación de Esri
Errores de compilación
- Verifica que las coordenadas del SDK de ArcGIS coincidan con la configuración de tu proyecto
- Asegúrate de usar el BOM para la gestión de versiones
- Comprueba que las dependencias del toolkit de Compose estén incluidas
Próximos pasos
Una vez que el SDK de ArcGIS Maps esté configurado correctamente, puedes usar el componente ArcGISMapView de MapConductor con la API unificada.