:申请百度地图key

申请key网址:http://dev.baidu.com/wiki/static/imap/key/(没有百度账号先注册账号)

二:下载百度地图androidapi

http://dev.baidu.com/wiki/static/imap/files/android/BaiduMapApi_Lib_Android_1.3.3.zip

三:api库的使用:

1.解压后将baidumapapi.jar添加在项目Libraries里,将libBMapApiEngine_v1_3_3.so复制到工程目录下的libs\armeabi(没有这两个文件夹自己在项目根目录下创建)

2.地图、定位、搜索功能都需要BMapManager来管理,BMapManager提供四个接口,init,start,stop,destroy。建议在Application里生成BMapManager对象并初使化,在程序退出时调用destory,在需要使用sdk功能的activityonCreate里调用start,onDestroy调用stop,或者onResume/onPause分别调用startstop

四:创建main.xml文件,注意MapView空间必须是com.baidu.mapapi.MapView

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >           <com.baidu.mapapi.MapView            android:id="@+id/map_view"            android:layout_width="fill_parent"            android:layout_height="fill_parent"            android:clickable="true"            android:enabled="true" />   </LinearLayout>

五:新建LocationActivity.java(继承com.baidu.mapapi.MapActivity),如下:

package com.location.activity;import android.location.Location;import android.os.Bundle;import android.widget.TextView;import com.baidu.mapapi.BMapManager;import com.baidu.mapapi.LocationListener;import com.baidu.mapapi.MKLocationManager;import com.baidu.mapapi.MapActivity;/** * 创建Activity(继承com.baidu.mapapi.MapActivity) */public class LocationActivity extends MapActivity implements LocationListener {private BMapManager mapManager;private MKLocationManager mLocationManager = null;private TextView latText;private TextView lonText;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);latText = (TextView) findViewById(R.id.lat);lonText = (TextView) findViewById(R.id.lon);// 初始化MapActivitymapManager = new BMapManager(getApplication());// init方法的第一个参数需填入申请的API KeymapManager.init("C66C0501D0280744759A6957C42543AE38F5D540", null);super.initMapActivity(mapManager);mLocationManager = mapManager.getLocationManager();// 注册位置更新事件mLocationManager.requestLocationUpdates(this);// 使用GPS定位mLocationManager.enableProvider((int) MKLocationManager.MK_GPS_PROVIDER);}@Overrideprotected boolean isRouteDisplayed() {return false;}@Overrideprotected void onDestroy() {if (mapManager != null) {mapManager.destroy();mapManager = null;}mLocationManager = null;super.onDestroy();}@Overrideprotected void onPause() {if (mapManager != null) {mapManager.stop();}super.onPause();}@Overrideprotected void onResume() {if (mapManager != null) {mapManager.start();}super.onResume();}/** * 根据MyLocationOverlay配置的属性确定是否在地图上显示当前位置 */@Overrideprotected boolean isLocationDisplayed() {return false;}/** * 当位置发生变化时触发此方法 *  * @param location 当前位置 */public void onLocationChanged(Location location) {if (location != null) {// 显示定位结果lonText.setText("当前经度:" + location.getLongitude());latText.setText("当前纬度:" + location.getLatitude());}}}

六:在AndroidManifest.xml中要添加访问网络和启动定位等的几个权限

<!-- 访问网络的权限 -->    <uses-permission android:name="android.permission.INTERNET" />    <!-- 访问精确位置的权限 -->    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />    <!-- 访问网络状态的权限 -->    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />    <!-- 访问WIFI网络状态的权限 -->    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />    <!-- 改变WIFI网络状态的权限 -->    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />    <!-- 读写存储卡的权限 -->    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />    <!-- 读取电话状态的权限 -->    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

七:运行效果如下图:


更多相关文章

  1. Android, property 添加写权限。
  2. Android开机广播和关机广播
  3. Android中自定义权限
  4. android 驱动文件权限设置
  5. Android(安卓)定位当前位置可能出现的问题
  6. 使用代理下载Android(安卓)SDK
  7. Android(安卓)访问Webservice接口,参数对象不能串行化问题解决(jav
  8. android 三种定位方式
  9. android10.0连接wifi后提示“已连接,但无法访问互联网”

随机推荐

  1. ORACLE 01843. 00000 - “不是有效月份
  2. unity连接数据库MySQL简单例子
  3. MySQL binlog格式解析
  4. PostgreSQL自动备份批处理脚本
  5. 一步一步学MySQL----13 多表数据记录查询
  6. 解决用户 'sa' 登录失败。原因: 未与信任
  7. 如何首次配置postgresql ?
  8. 请问mysql中有没有类似math.max(1,2)这种
  9. RedHat6.0下源码安装MySQL5.5.27
  10. PB怎么将动态的sql语句以及数组。传给dat