百度地图基础开发

  因为项目的需要,最近接触了一下百度地图Android开发,遇到很多问题,相信很多博友也遇到到过这些问题,现在把我的实践经验给大家分享一下。

  开发百度地图,第一步:你需要首先登录百度地图开放平台,注册一个开发者身份,通过这个身份你可以查看到百度最新的开发文档,为我们的开发提供便利。有了开发者身份后,你就可以开始为开发百度地图做准备了。

  打开Android开发工具,新建一个开发项目。然后利用你在百度注册的开发者身份申请密钥,申请密钥的方法百度文档说的很清楚,给了两钟申请方法,建议使用后一种。有了密钥下面就是开发需要使用的Jar包了,在百度开发者平台下载自己需要的即可。

  有了上面的准备工作,接下来我们就可以开始开发了,打开Android开发工具,打开刚刚创建好的工程,把刚刚下载好的Jar包导入到工程中,需要注意的是Jar包导入时还需要添加一个:armeabi文件夹里面有两个libBaiduMapSDK_v3_0_0.so和liblocSDK4d.so也要一并导入。导入选择项目右键单击,选择properties>Java Build Path>Libraries,点击右侧Add External JARS...,把工程Libs下的Jar文件选中,最后不要忘记把Oreder and Exporxt下的Jar包选上,点击Ok至此环境配置就完成了。

  下面就是代码了,首先AndroidManifest.xml文件:

获取权限:

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" >
    </uses-permission>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" >
    </uses-permission>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
    </uses-permission>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
    </uses-permission>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" >
    </uses-permission>
    <uses-permission android:name="android.permission.READ_PHONE_STATE" >
    </uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" >
    </uses-permission>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" >
    </uses-permission>
    <uses-permission android:name="android.permission.READ_LOGS" >
    </uses-permission>
    <uses-permission android:name="android.permission.VIBRATE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />

设置密钥

//添加在application里面
<meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="密钥号码" /> <service android:name="com.example.baidumap_01" android:enabled="true" android:process=":remote" > <intent-filter> <action android:name="com.baidu.location.service_v2.2" > </action> </intent-filter> </service>

  布局文件activity_main.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${relativePackage}.${activityClass}" >

    <com.baidu.mapapi.map.MapView
        android:id="@+id/id_bmapView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:clickable="true" />

</RelativeLayout>

  主文件MainActivity.java文件:

package com.example.baidumap_01;

import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.MapView;

import android.app.Activity;
import android.os.Bundle;
import android.view.Window;

public class MainActivity extends Activity {
    
    private MapView mMapView = null;
    private BaiduMap mBaiduMap = null;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        //在使用SDK各组件之前初始化context信息,传入ApplicationContext  
        //注意该方法要再setContentView方法之前实现 
        SDKInitializer.initialize(getApplicationContext());
        setContentView(R.layout.activity_main);
        //获取地图控件引用 
        mMapView = (MapView) findViewById(R.id.id_bmapView);
        mBaiduMap = mMapView.getMap();  
        //普通地图  
        //mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);  
        //卫星地图  
        mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
        
    }
    
    @Override  
     protected void onDestroy() {  
            super.onDestroy();  
            //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理  
            mMapView.onDestroy();  
     }  
     
     @Override  
     protected void onResume() {  
        super.onResume();  
        //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理  
        mMapView.onResume();  
     }  
     
     @Override  
     protected void onPause() {  
        super.onPause();  
        //在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理  
        mMapView.onPause();  
     }
    
}

  运行后的效果:

  以上就是百度地图V3.0的开发介绍,有兴趣的可以留言交流。

原文地址:https://www.cnblogs.com/AndroidJotting/p/4162404.html