您的位置:首页 > 其它

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

2014-06-24 18:49 791 查看
百度地图简单使用教程


版本 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…,将新建的签名放进去,导入后如下图所示,然后运行项目就可以了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: