因为是新手 可能有许多说的不好或没讲解到的地方 请见谅!
我是根据百度地图官方API讲解的,百度地图毕竟是国内的开发,对开发者来说比Google地图开发简单方便
下面是我的开发步骤:
1、先登入百度地图API官方百度地图api,之前必须有个百度帐号与其绑定(比如:我的百度帐号就是“forever别银”)然后点击画线部分“Android地图SDK”
2、进入之后如图你会看到开发的代码都在上面
这里我把这两个api包贴出来 百度云盘:点击下载两个配置文件下载之后拷贝到相应的文件夹下
3、在自己的工程里添加相应的代码
(1)在application里面(是在里面)添加开发密钥
<application>
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="开发者 key" />
</application>
这里的“开发者key”就是自己申请的密钥 申请地址:密钥申请
(应用类型选择for mobile)这里的画的1“数字标签”就是指SHA1码 现在方便多了 adt插件基本都集成了 在属性里就有 打开eclipse
2、包名:就是自己项目的包的名称
数字标签与包名之间要用英文状态下的分号隔开 ,然后点确定即可
你就会看到生成的密钥了
将密钥复制粘帖到上面代替“开发者key”就行
2)添加所需权限
<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" />
第四步,创建地图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();
}
}
如果SDKInitializer出现错误又不能出现如图所示import
就按照官网给的方法
如果没出问题就可省略这第二步
还有如果显示不出地图 是一些灰色的网格线 就重新获取几次密钥
如果没其他问题 地图就可以显示出来了(亲试)(注:加粗字体都是重要信息)
关于其他定位等功能的开发 后续可能会发表