Escena
Efecto
Antes de usar la API de Baidu Maps, debe solicitar la API_KEY en la plataforma abierta de Baidu Maps
http://lbsyun.baidu.com/index.php
Aplicar API_KEY
Después de iniciar sesión en la plataforma abierta Baidu, busque la administración de la aplicación en la consola: cree una aplicación
Ingrese el nombre de la aplicación a su vez, seleccione Android SDK para el tipo de aplicación
Luego debe ingresar la versión de lanzamiento SHA1 y el nombre del paquete
Obtén la aplicación SHA1
Primero ve a la ubicación del archivo .Android, la ubicación predeterminada es la siguiente
Si se ha modificado, vaya a la ruta modificada.
AndroidStudio modifica la carpeta predeterminada de configuración de la unidad C (.android.gradle.AndroidStudio) y los pozos para evitar pasos después de la modificación
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103791948
Lo modifiqué aquí, por lo que la ruta aquí está en D: \ Android
Abra la ventana de línea de comando debajo de esta ruta.
Esto se genera utilizando la herramienta keytool que viene con JDK
La ruta predeterminada de keytool: C: \ Archivos de programa \ Java \ jdk1.8.0_181 \ bin
Luego arrastre keytool.exe a la ventana de línea de comandos donde se abre la ruta de acceso de Android, e ingrese
-list -v -keystore debug.keystore
Entrar Luego solicite el comando keystore y presione Entrar
Entonces puede obtener SHA1 en la huella digital del certificado
Luego regrese a la plataforma abierta de Baidu y haga clic en enviar. Puede obtener la clave de desarrollo.
Obtenga el SDK de Android Map
Luego regrese al SDK de desarrollo de Android bajo el documento de desarrollo de Android en la plataforma abierta Baidu
Luego seleccione descarga personalizada
Luego, solo se verifican aquí algunas funciones básicas, se verifican las funciones específicas según sus necesidades y luego se hace clic en el kit de desarrollo y el código de muestra a continuación para descargar
SDK integrado en el proyecto
Cree un nuevo proyecto con AndroidStudio y cambie la vista del proyecto de Android a Project
Esto mostrará el directorio libs, luego descomprimirá el paquete de desarrollo descargado arriba, puede ver los dos paquetes jar en el directorio libs a continuación, cópielo en la lib del proyecto
Luego seleccione los dos paquetes jar y haga clic con el botón derecho en Agregar como biblioteca para agregar a la biblioteca
Luego cree un nuevo directorio JNIlibs en src / main
Luego copie todos los directorios bajo libs bajo el SDK anterior a este directorio
Luego cambie el proyecto nuevamente a la vista de Android, abra activity_main.xml para modificar el archivo de diseño
Modifique el diseño a un diseño relativo, agregue el componente de mapa Baidu y establezca la identificación
<? xml version = " 1.0 " encoding = " utf-8 " ?> <RelativeLayout xmlns: android = " http://schemas.android.com/apk/res/android " xmlns: app = " http: // esquemas .android.com / apk / res-auto " xmlns: tools = " http://schemas.android.com/tools " android: layout_width = " match_parent " android: layout_height = " match_parent " herramientas: context = " .MainActivity " > < com.baidu.mapapi.map.MapView android: id = " @ + id / bmapview " android: layout_width = " match_parent " android: layout_height = " match_parent " android: clickable = " true " /> </RelativeLayout>
Luego venga a MainActivity.java, primero declare el componente del mapa y luego inicialice el SDK del mapa en el método onCreate, preste atención al SDK del mapa de inicialización
El código debe colocarse antes del código de setContentView.
Luego, también debe establecer el período de declaración del componente de mapa por separado.
paquete com.badao.baidumap; importar androidx.appcompat.app.AppCompatActivity; importar android.os.Bundle; import com.baidu.mapapi.SDKInitializer; importar com.baidu.mapapi.map.MapView; clase pública MainActivity extiende AppCompatActivity { mapView privado mapView; // 声明 地图 组件 @Override protected void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); // 初始化 地图 SDK SDKInitializer.initialize (getApplicationContext ()); setContentView (R.layout.activity_main); mapView = (MapView) findViewById (R.id.bmapview); } @Override vacío protegido onPause () { super.onPause (); mapView.onPause (); } @Override protected void onDestroy () { super.onDestroy (); mapView.onDestroy (); mapView = nulo ; } @Override protected void onResume () { super.onResume (); mapView.onResume (); } }
Luego abra AndroidManifest.xml en mainfests
Primero agregue la etiqueta de metadatos, el contenido es el siguiente
<Meta- datos Android: nombre = " com.baidu.lbsapi.API_KEY " Android: valor = " solicitud de clave de explotación " />
Luego declara la autoridad. Código de muestra completo
<? xml version = " 1.0 " encoding = " utf-8 " ?> <manifest xmlns: android = " http://schemas.android.com/apk/res/android " xmlns: tools = " http: // esquemas .android.com / Herramientas " Penalty paquete de = " com.badao.baidumap " > <- acceso a la red, un mapa solicitudes de datos de negocio relevantes, incluyendo datos de los mapas, planificación de rutas, la recuperación de PDI -> <usos en permisos de Android: name = " android.permission.INTERNET " /> <! - Obtenga el estado de la red, cambie los datos de acuerdo con el estado de la red para solicitar la conversión de red-> <uses-permission android:nombre = "android.permission.ACCESS_NETWORK_STATE " /> <! - Leer almacenamiento externo. Si el desarrollador utiliza la función de carga tan dinámica y coloca el archivo so en el área de almacenamiento externo, debe solicitar este permiso, de lo contrario no necesita- > <uses-permission android: name = " android.permission.READ_EXTERNAL_STORAGE " /> <! - Escribe almacenamiento externo. Si el desarrollador usa un mapa fuera de línea y los datos se escriben en el área de almacenamiento externo, debes solicitar este permiso- > <usos-permiso android: name = " android.permission.WRITE_EXTERNAL_STORAGE " /> < application android: allowBackup = " true " android: icon = " @ mipmap / ic_launcher " android:etiqueta = "@ string / nombre_apl " android: roundIcon = " @ mipmap / ic_launcher_round " android: supportsRtl = " verdad " android: tema = " @ estilo / AppTheme " > <meta- datos de Android: nombre = " com.baidu.lbsapi.API_KEY " android: value = " 申请 的 开发 密钥" /> <actividad android: name = " .MainActivity " > <intent-filter> <action android: name = " android.intent.action.MAIN " /> <category android: name = " android.intent.category.LAUNCHER " /> </intent-filter> </activity> </application> </ manifiesto>
Este código puede referirse al código de muestra descargado en la plataforma abierta de Baidu antes.
O puede consultar la guía de desarrollo del sitio web oficial
http://lbsyun.baidu.com/index.php?title=androidsdk/guide/create-map/showmap
Luego, debe ejecutar el proyecto en una máquina real en red o en un simulador de terceros