Cómo desarrollar Baidu Map para Android
1. Conceptos básicos:
(1) Baidu Map:
Baidu Map Android SDK es un conjunto de interfaces de programas de aplicación basadas en dispositivos Android 2.1 y superiores. Puede utilizar este SDK para desarrollar aplicaciones de mapas para dispositivos móviles Android. Al llamar a la interfaz Map SDK, puede acceder fácilmente a los servicios y datos de mapas de Baidu para crear aplicaciones de mapas interactivos ricas en funciones.
Todos los servicios proporcionados por Baidu Maps Android SDK son gratuitos y no tienen límite de uso. Debe solicitar una clave para utilizar el SDK de Android de Baidu Maps.
(2) LBS: (Servicio basado en la ubicación)
El servicio basado en la ubicación se realiza a través de la red de comunicación por radio de los operadores móviles de telecomunicaciones (como la red GSM, la red CDMA) o externa. Servicios de posicionamiento proporcionados por métodos (como GPS). Obtiene la información de ubicación (coordenadas geográficas o coordenadas geodésicas) de los usuarios de terminales móviles a través de la red de radiocomunicaciones (como la red GSM, la red CDMA) de los operadores móviles de telecomunicaciones o métodos de posicionamiento externo (como el GPS), y la utiliza en el ámbito geográfico. Plataforma de sistema de información (SIG, nombre completo en idioma extranjero: Sistema de Información Geográfica) para brindar a los usuarios servicios de valor agregado correspondientes a los servicios.
2. Pasos para utilizar Baidu Map: consulte (/map/sdk-android.htm)
(1) HolaBaiduMap:
1. Paso 1: Solicite la clave de mapa de Baidu (API_KEY):
/map/sdk-android.htm
2. Paso 2: Solicite la clave de mapa de Baidu (API_KEY): p>
/map/sdk-android.htm
2. p>
/sdk-android.htm
Paso 2: Solicite la clave de mapa de Baidu ( API_KEY) en la columna "Mapa de Baidu" del mapa. p>2. Paso 2: cree una nueva carpeta libs en el proyecto, copie el paquete de desarrollo baidumapapi_vX_X_X.jar al directorio raíz de libs y copie libBaiduMapSDK_vX_X_X.so al directorio libs/armeabi (están estos dos archivos en el sitio web oficial). demostración, si desea integrarlo en su propio proyecto, debe agregarlo usted mismo. El directorio del proyecto copiado se muestra a continuación;
Nota: liblocSDK3.so y locSDK_3.1.jar son Baidu. Los desarrolladores de posicionamiento de SDK pueden agregar los recursos utilizados de acuerdo con sus necesidades reales.
3. Paso 3: Agregar clave de desarrollo, permisos requeridos y otra información en AndroidManifest
android; :name="com.baidu.lbsapi.KEY" android:value="P3G69b5s87YG5M31f8A7oyLW"/> 4. Paso 4: agregue el control del mapa al archivo de diseño: & lt. ;com.baidu.mapapi.map.MapView android:id="@+id/mapView" android:layout_width="match_parent" android :layout_ height="match_parent" android:clickable="true"/> 5.initialize(getApplicationContext()); //Cargar diseño file setContentView(R.layout .activity_main); } 6. Paso 6: cree una actividad de mapa para administrar el ciclo de vida del mapa: p> publicclass MainActivity extiende la actividad { MapView privado mapView; @Override protectedv oid onCreate(Bundle saveInstanceState) { super.onCreate(savedInstanceState); // Inicialice la información de contexto antes de usar el componente SDK y pase ApplicationContext / / Tenga en cuenta que este método se implementa antes que el método setContentView SDKInitializer.initialize( getApplicationContext()); // Cargue el archivo de diseño setContentView (R.layout. Activity_main); mapView = (MapView) findViewById(R.id.MapView); / Tenga en cuenta que este método se implementa antes que el método setContentView SDKInicializador. onPause(); } @Override protectedvoid onDestroy() { super.onDestroy(); mapView.onDestroy(); } (2), mapa base: 1. Implementar operaciones del mapa base: Archivos de diseño en Use MapView; Inicializar SDK y verificar la validez de la clave; SDKInitializer.initialize(getApplicationContext()); checkKEY () ; Inicializa el objeto del mapa de Baidu; findViewById() en MapView; El objeto MapView llama a getMap() y devuelve el mapa de Baidu; p > establecer mapa de Baidu; setMapType(); setTrafficEnabled(); (3), búsqueda de puntos de interés: 1 Pasos para implementar la búsqueda de puntos de interés: El archivo de diseño utiliza fragmentos para cargar mapas de Baidu; class="com.baidu.mapapi.map.SupportMapFragment" La actividad actual hereda de FragmentActivity; Inicialice el SDK y verifique la validez de la clave SDKInitializer.initialize( getApplicationContext()); p>checkKEY(); Nota: Estas dos oraciones deben colocarse antes de setContentView(). Inicializar objeto BaiduMap; baiduMap = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.fragment_poi_map)). Objeto PoiSearch; PoiSearch.newInstance(); Establecer un oyente para el objeto PoiSearch; Establecer OnGetPoiSearchResultListener () y sobrecargar el método onGetPoiResult(); Personalice la clase PoiOverlay e implemente un detector de clics para cada marca; Obtenga la información en cada PoiInfo a través del método onPoiClick(). Si el objeto contiene información detallada, se puede abrir una nueva página que muestra los detalles del punto de interés. Configure la página PlaceCaterActivity en el archivo AndroidManifest.xml. Esta página es una página de introducción detallada de PDI proporcionada por Baidu. El objeto PoiSearch llama a los métodos searchInBound(), searchInCity(), searchNearby() para implementar consultas de puntos de interés. Resumen: Pasos principales: Establecer objetos BaiduMap y PoiSearch; El objeto PoiSearch establece el oyente OnGetPoiSearchResultListener (); Llamada al objeto PoiSearch el método searchInCity() para activar este oyente. (4) Planificación de rutas: 1. Pasos para implementar la planificación de rutas: Utilice el archivo de diseño MapView para cargar el mapa de Baidu Inicializar el SDK y comprobar la validez de la clave; SDKInitializer.initialize(getApplicationContext()); checkKEY(); Inicializar MapView; Llamar a findViewById() Inicializar objeto BaiduMap; baiduMap = MapView object.getMap(); Inicializar objeto RoutePlanSearch; p> RoutePlanSearch.newInstance(); Establece un detector para el objeto RoutePlanSearch; Establece OnGetRoutePlanResultListener(), anulando onGetWalkingRouteResult(), onGetTransitRouteResult() y onGetDrivingRouteResult() método; Personalice tres clases RouteOverlay (WalkingRouteOverlay, TransitRouteOverlay, DrivingRouteOvelray); Llame a tres métodos del objeto RoutePlanSearch (DrivingSearch(), TransitSearch(), WalkingSearch ()) para implementar la ruta. planificación. Resumen: Pasos principales: Establecer objetos BaiduMap y RoutePlanSearch; El objeto RoutePlanSearch establece el oyente OnGetRoutePlanResultListener; El objeto RoutePlanSearch llama a driverSearch ( ), los métodos transitSearch() y WalkingSearch() activan el oyente. (5) Consulta de bus: 1. Pasos operativos para implementar la consulta de bus: Utilice un archivo de diseño de fragmentos para cargar el mapa de Baidu Inicialice el SDK y verifique la validez de la clave; SDKInitializer.initialize(getApplicationContext() ); /p> checkKEY(); La actividad actual hereda de FragmentActivity; Inicializar el objeto BaiduMap baiduMap = (( SupportMapFragment) getSupportFragmentManager; () .findFragmentById(R.id. fragment_poi_map)).getBaiduMap(); Inicializar objeto PoiSearch/inicializar objeto BusLineSearch; PoiSearch.newInstance(); p> BusLineSearch.newInstance(); Establece un detector para el objeto BusLineSearch; setOnGetBusLineSearchResultListener(), anula el método onGetBusLineResult(); El objeto PoiSearch establece el oyente; setOnGetPoiSearchResultListener(), anula el método onGetPoiResult(); Llama al método searchBusLine() del objeto BusLineSearch en el oyente; p> Agregue un evento de escucha de clic para el botón e implemente los métodos searchInBound(), searchInCity() y searchNearby() del objeto PoiSearch para implementar la consulta de punto de interés. Resumen: Pasos principales: Crear BaiduMap, el objeto PoiSearch y el objeto BusLineSearch; El objeto PoiSearch establece el oyente OnGetPoiSearchResultListener(); . Configure el oyente OnGetBusLineSearchResultListener; Llame al método searchBusLine() del objeto busLineSearch en el método de devolución de llamada del oyente onGetPoiResult() del objeto PoiSearch; El objeto PoiSearch llama a searchInCity() Método para activar toda la escucha. Comentarios: Idea general: primero llame a la consulta de PDI y luego ejecute la consulta BusLine en el oyente en la consulta de PDI.