Android中级篇之百度地图SDK v3.5.0-Hello BaiduMap[图解第一次运行百度地图]

基本功能地图[比官方的更详细]

  • 开发工具

    Android开发工具有很多。在此,我个人推荐开发者使用Android Studio作为自己的开发工具,本套开发指南也是针对Android Studio开发环境下进行编写的。

  • 显示百度地图

    百度地图SDK为开发者提供了便捷的显示百度地图数据的接口,通过以下几步操作,即可在您的应用中使用百度地图数据:

    第一步:创建并配置工程(具体方法参见工程配置部分的介绍);

    第二步:在AndroidManifest中添加开发密钥、所需权限等信息;

    (1)在application中添加开发密钥:
    
    <application>  
        <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="开发者 key" />  
    </application>

    (2)添加所需权限:

        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
        <uses-permission android:name="android.permission.INTERNET"></uses-permission>
        <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
        <uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
        <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
        <!-- SDK1.5需要android.permission.GET_TASKS权限判断本程序是否为当前运行的应用? -->
        <uses-permission android:name="android.permission.GET_TASKS" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
        <uses-permission android:name="android.permission.WRITE_SETTINGS" />
        <!-- 这个权限用于进行网络定位-->
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
        <!-- 这个权限用于访问GPS定位-->
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
        <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位-->
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
        <!-- 获取运营商信息,用于支持提供运营商信息相关的接口-->
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
        <!-- 这个权限用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
        <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" />
        <!-- SD卡读取权限,用户写入离线定位数据-->
        <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission>
        <!--允许应用读取低级别的系统日志文件 -->
        <uses-permission android:name="android.permission.READ_LOGS"></uses-permission>

    第三步,在布局xml文件中添加地图控件:

    <com.baidu.mapapi.map.MapView
            android:id="@+id/bd_mapView"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

    第四步,在应用程序创建时初始化 SDK引用的Context 全局变量:

    public class MainActivity extends Activity {  
        @Override  
        protected void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);   
            //在使用SDK各组件之前初始化context信息,传入ApplicationContext 
            //注意该方法要再setContentView方法之前实现 
            SDKInitializer.initialize(getApplicationContext());  
            setContentView(R.layout.activity_main);  
        }  
    }

    Android中级篇之百度地图SDK v3.5.0-Hello BaiduMap[图解第一次运行百度地图]_第1张图片

    注意:在SDK各功能组件使用之前都需要调用!

    SDKInitializer.initialize(getApplicationContext());,因此我们建议该方法放在Application的初始化方法中!

    第五步,创建地图Activity,管理地图生命周期:

    public class MainActivity extends Activity {  
        MapView mMapView = null;  
        @Override  
        protected void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);   
            //在使用SDK各组件之前初始化context信息,传入ApplicationContext 
            //注意该方法要再setContentView方法之前实现 
            SDKInitializer.initialize(getApplicationContext());  
            setContentView(R.layout.activity_main);  
            //获取地图控件引用 
            mMapView = (MapView) findViewById(R.id.bmapView);  
        }  
        @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();  
            }  
        }

    完成以上步骤后,运行程序,即可在您的应用中显示如下地图:

    Android中级篇之百度地图SDK v3.5.0-Hello BaiduMap[图解第一次运行百度地图]_第2张图片

  • 说明

    此外,自v2.3.5版本开始。MapView控件还增加了对Fragment框架的支持。用户可以使用SupportMapFragment控件完成相应框架内的开发工作(详见MapFragmentDemo)。

你可能感兴趣的:(android,android,Android开发,sdk,百度地图,Studio)