Android之调用百度API显示地图

调用百度地图步骤

1.到百度开发者中心注册一个账号然后申请开发者资格,接着就可以申请百度地图的key了。

申请地址:http://lbsyun.baidu.com/apiconsole/key?application=key




获取SHA1方法如下:打开Eclipse点击Window选择preferences



复制SHA1到百度数字签名中即可,然后输入项目应用的包名便创建完成


然后到http://lbsyun.baidu.com/sdk/download下载地图的相关jar包即可


2.我们新建一个项目工程名为百度地图测试,然后把刚才下载jar文件放入到libs中


打开Android配置文件加入以下权限

 <!-- 百度地图所需权限 -->
    <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.WAKE_LOCK"/>
	<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
	<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
	<uses-permission android:name="android.permission.GET_TASKS" />
	<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
	<uses-permission android:name="android.permission.WRITE_SETTINGS" />

在application中添加开发密钥 

<!-- 百度地图key -->   
    <meta-data  
        android:name="com.baidu.lbsapi.API_KEY"  
        android:value="5wtGNGuGt9gjsGxBhcXAA8YC98bP29pQ" />  

3.在布局文件中添加地图控件

<LinearLayout 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:orientation="vertical" >

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

</LinearLayout>
Activity中的代码很简单

package com.shiran.api.baidu;

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

import android.os.Bundle;
import android.app.Activity;
import android.view.KeyEvent;
import android.widget.Toast;

public class MainActivity extends Activity {
	
	private long exitTime = 0;
	
	//申明地图控件
	private MapView mMapView;

    @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.baidumap);  
    }

    @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 onKeyDown(int keyCode, KeyEvent event) {
	    if(keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN){   
	        if((System.currentTimeMillis()-exitTime) > 2000){  
	            Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();                                
	            exitTime = System.currentTimeMillis();   
	        } else {
	            finish();
	            System.exit(0);
	        }
	        return true;   
	    }
	    return super.onKeyDown(keyCode, event);
	}
    
    }
    

运行即可显示百度地图


猜你喜欢

转载自blog.csdn.net/sandyran/article/details/52076950