调用百度地图步骤
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); } }
运行即可显示百度地图