百度地图使用教程(一)-------基础地图创建(含应用的签名创建)

百度地图简单使用教程  

版本 Android SDK v3.0.0



1. 创建一个Android项目
2. 为该项目创建一个签名

2.1 右击项目,选中Export



2.2 选择Export Android Application,点击next



2.3 可以对导出的APK进行命名,如果不重新命名直接点击next



2.4 选择create new keystore,点击Browse…,选择签名文件的存放地址,及命名签名文件,要以keystore结尾。密码设置为“android”,点击next。(keystore,密码包括后面的别名的命名,都是为了签名可以在Eclipse中可以直接导入项目进行调试用,如果是真正的发布,密码、别名可以任意选择)




2.5 Alias为别名,应取为androiddebugkey,无需后缀;密码也是“android”;Validity为有效期,自己设置,一般填30年;最后在填一下First And Last Name就可以了,其他的可填可不填。然后点击next



2.6 最后选择apk的生成地址,选择完后点击Finish,签名就生成完成。




3. 获取签名的SHA1码
3.1 同样右击项目选择Export,一直next,到输入密码界面,输入“android”,选择别名,输入“android”,选择SHA1码,复制到百度网址注册需要填写的位置。









4. 在百度LBS开放平台创建新应用
4.1 登录一下网址http://lbsyun.baidu.com/apiconsole/key
4.2 如果没有百度账号要自己去注册

4.3 登录成功的画面为



4.4 点击创建应用,输入应用名称,选择for mobile类型,输入签名的SHA1码+分号+包名(包名在android配置文件中取,如下图),点击确认,应用创建成功。



5. 实现Hello BaiduMap

5.1 导入相应的jar包和so文件(SDK自己到百度开放平台下)



第一步:在工程里新建libs文件夹,将开发包里的baidumapapi_vX_X_X.jar拷贝到libs根目录下,将libBaiduMapSDK_vX_X_X.so拷贝到libs\armeabi目录下(官网demo里已有这两个文件,如果要集成到自己的工程里,就需要自己添加),拷贝完成后的工程目录如下图所示;

注:liblocSDK3.so和locSDK_3.1.jar为百度定位SDK所使用资源,开发者可根据实际需求自行添加。

第二步:在工程属性->Java Build Path->Libraries中选择“Add External JARs”,选定baidumapapi_vX_X_X.jar,确定后返回。

通过以上两步操作后,您就可以正常使用百度地图SDK为您提供的全部功能了。
注意:由于adt插件升级,若您使用Eclipse adt 22的话,需要对开发环境进行相应的设置,方法如下:
1. 在Eclipse 中选中工程,右键选 Properties->Java Build Path->Order and Export 使 Android Private Libraries处于勾选状态;
2. Project -> clean-> clean all .

5.2 显示百度地图
百度地图SDK为开发者提供了便捷的显示百度地图数据的接口,通过以下几步操作,即可在您的应用中使用百度地图数据:
第一步:创建并配置工程(具体方法参见工程配置部分的介绍);
第二步:在AndroidManifest中添加开发密钥、所需权限等信息;
(1)在application中添加开发密钥
源码复制打印关于
1. <application
2. <meta-data
3. android:name="com.baidu.lbsapi.API_KEY"
4. android:value="开发者 key" />
5. </application>
(2)添加所需权限
源码复制打印关于
1. <uses-permission android:name="android.permission.GET_ACCOUNTS" />
2. <uses-permission android:name="android.permission.USE_CREDENTIALS" />
3. <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
4. <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
5. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
6. <uses-permission android:name="android.permission.INTERNET" />
7. <uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
8. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
9. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
10. <uses-permission android:name="android.permission.READ_PHONE_STATE" />
11. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
12. <uses-permission android:name="android.permission.BROADCAST_STICKY" />
13. <uses-permission android:name="android.permission.WRITE_SETTINGS" />
14. <uses-permission android:name="android.permission.READ_PHONE_STATE" />
第三步,在布局xml文件中添加地图控件;放在layout里头
源码复制打印关于
1. <com.baidu.mapapi.map.MapView
2. android:id="@+id/bmapView"
3. android:layout_width="fill_parent"
4. android:layout_height="fill_parent"
5. android:clickable="true" />
第四步,在应用程序创建时初始化 SDK引用的Context 全局变量:
源码复制打印关于
1. public class MainActivity extends Activity {
2. @Override
3. protected void onCreate(Bundle savedInstanceState) {
4. super.onCreate(savedInstanceState);
5. //在使用SDK各组件之前初始化context信息,传入ApplicationContext
6. //注意该方法要再setContentView方法之前实现
7. SDKInitializer.initialize(getApplicationContext());
8. setContentView(R.layout.activity_main);
9. }
10. }
注意:在SDK各功能组件使用之前都需要调用
SDKInitializer.initialize(getApplicationContext());,因此我们建议该方法放在Application的初始化方法中
第五步,创建地图Activity,管理地图生命周期;
源码复制打印关于
1. <public class MainActivity extends Activity {
2. MapView mMapView = null;
3. @Override
4. protected void onCreate(Bundle savedInstanceState) {
5. super.onCreate(savedInstanceState);
6. //在使用SDK各组件之前初始化context信息,传入ApplicationContext
7. //注意该方法要再setContentView方法之前实现
8. SDKInitializer.initialize(getApplicationContext());
9. setContentView(R.layout.activity_main);
10. //获取地图控件引用
11. mMapView = (MapView) findViewById(R.id.bmapView);
12. }
13. @Override
14. protected void onDestroy() {
15. super.onDestroy();
16. //在activity执行onDestroy时执行mMapView.onDestroy(),实现地图生命周期管理
17. mMapView.onDestroy();
18. }
19. @Override
20. protected void onResume() {
21. super.onResume();
22. //在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理
23. mMapView.onResume();
24. }
25. @Override
26. protected void onPause() {
27. super.onPause();
28. //在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理
29. mMapView.onPause();
30. }
31. }

完成以上步骤后,运行程序,即可在您的应用中显示如下地图:



以上的例子为大家介绍了如何构建一个基础的地图页面。地图控件自v2.3.5版本起,支持多实例,即开发者可以在一个页面中建立多个地图对象,并且针对这些对象分别操作且不会产生相互干扰。具体使用方法请参考MutiMapViewDemo中的相关介绍。
此外,自v2.3.5版本开始。MapView控件还增加了对Fragment框架的支持。用户可以使用SupportMapFragment控件完成相应框架内的开发工作(详见MapFragmentDemo)。
Demo运行效果图:


6. 注意事项
6.1 百度的指南教程里头有些代码错误

关于权限



放在layout中的代码



6.2 重要的一点,要把创建的签名加入到项目中

点击Eclipse的Window选择Preferences



选择android菜单,选择Build,点击Browse…,将新建的签名放进去,导入后如下图所示,然后运行项目就可以了。




  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值