Android 百度地图开发源码示例 ——1

目前在 Android APP 开发中凡涉及到地图的东西,我个人感觉呢百度提供的SDK还是很方便的,调用和使用非常方便,而且还是免费的,适合中小型开发者使用,反正我个人觉得挺赞的,今天说说关于地图的初步调用,上一篇我说到了 Android 调用百度 Android SDK 申请密钥方法 ,跟这篇是紧密相连的,没key的赶紧去整一个,跟着我的节奏,一起来学习


首先在工程里新建一个libs文件夹,如果工程里有这个文件夹,就不需要在建了,把所需要的jar导入

Android 百度地图开发源码示例 ——1_第1张图片


这是我导入的jar图,这里包含了几乎所有的百度Android SDK的jar和so文件,可以根据自己所需要开发的功能选择适合自己的包导入,我提供下载地址给大家

jar和so下载地址:http://developer.baidu.com/map/index.php?title=androidsdk/sdkandev-download


在AndroidManifest中添加开发密钥、所需权限

<pre name="code" class="html">  <application
        <!-- 添加开发密钥 -->
        <meta-data  
        android:name="com.baidu.lbsapi.API_KEY"  
        android:value="******B8CqNUn33q56GTjlHB" /> 
            </application>


 
 
api_key:

Android 百度地图开发源码示例 ——1_第2张图片

需要移动端的key,获取方法:http://blog.csdn.net/jspping/article/details/40073779


配置AndroidManifest权限:

    <!-- 添加权限 -->
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />  
    <uses-permission android:name="android.permission.USE_CREDENTIALS" />  
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />  
    <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />  
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  
    <uses-permission android:name="android.permission.INTERNET" />  
    <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />  
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />  
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />  
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
    <uses-permission android:name="android.permission.BROADCAST_STICKY" />  
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />  
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />


在xml中添加百度地图控件:


    <!-- 添加地图控件 -->
  <com.baidu.mapapi.map.MapView  
    android:id="@+id/bmapView"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    android:clickable="true" />

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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
    <!-- 添加地图控件 -->
  <com.baidu.mapapi.map.MapView  
    android:id="@+id/bmapView"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    android:clickable="true" />
</RelativeLayout>

加载地图Activity,MainActivity代码:

package com.example.engineerjspmap;
/**
 * BMap地图测试示例
 * @author Engineer-Jsp
 * @date 2014.10.16
 * */
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.MapView;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
// 在应用程序创建时初始化 SDK引用的Context 全局变量
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); 
	}
	//在SDK各功能组件使用之前都需要调用
	//SDKInitializer.initialize(getApplicationContext());,因此我们建议该方法放在Application的初始化方法中
	
	// 创建地图Activity,管理地图生命周期
	    @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();  
	        }  

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}

效果图展示:



你可能感兴趣的:(Android 百度地图开发源码示例 ——1)