地图 android.docx_第1页
地图 android.docx_第2页
地图 android.docx_第3页
地图 android.docx_第4页
地图 android.docx_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Android 百度地图一、开发前的准备工作: 1、注册百度账号,并登录。(有百度账号的话直接登录) 2、申请Key。如下图所示安全码为:Android SDK安全码组成:数字签名+;+包名。例如:AF:F2:10:F4:58:59:32:0D:1C:8A:56:B2:C3:39:56:9D:01:B7:FD:04;com.example.lele 二、搭建开发环境,开始The world, hello(世界,你好)之旅: 1、创建android项目,在选SDK时(Choose an SDK to target),选的不是Google APIs,是不带地图服务的SDK 。 2、在项目创建完毕,在工程里新建libs文件夹,将开发包(BaiduMap_AndroidSDK_v2.2.0_Lib.zip)里的baidumapapi_v2_2_0.jar拷贝到libs根目录下,将libBMapApiEngine_v2_2_0.so和libvi_voslib.so 拷贝到libsarmeabi目录下,拷贝完成后的工程目录如下图所示:3、在AndroidManifest.xml文件中添加使用权限:1. 2. 3. 4. 5. 6. 7. 8. 9. 10.11. 12. 13. 14.15. 16. 17. 4、在布局xml文件中添加地图控件:5、 创建地图Activity,并import相关类: a. 创建地图引擎管理类对象,并初始化。1. / 注意:请在调用setContentView前初始化BMapManager对象,否则会报错2. mBMapManager = new BMapManager(this.getApplicationContext();3. mBMapManager.init(BAIDU_MAP_KEY, new MKGeneralListener() 4.5. Override6. public void onGetNetworkState(int iError) 7. if (iError = MKEvent.ERROR_NETWORK_CONNECT) 8. Toast.makeText(BaiduMapBaseActivity.this.getApplicationContext(),9. 您的网络出错啦!, Toast.LENGTH_LONG).show();10. 11. 12.13. Override14. public void onGetPermissionState(int iError) 15. if (iError = MKEvent.ERROR_PERMISSION_DENIED) 16. / 授权Key错误:17. Toast.makeText(BaiduMapBaseActivity.this.getApplicationContext(),18. 请在 DemoApplication.java文件输入正确的授权Key!, Toast.LENGTH_LONG).show();19. 20. 21. );复制代码b.通过ID获取代表地图显示组件的MapView对象,并设置启用内置的缩放控件。1. mMapView = (MapView) this.findViewById(R.id.bmapsView);2. / 设置启用内置的缩放控件3. mMapView.setBuiltInZoomControls(true);复制代码c.获取地图控制器对象,并设置地图的中心点及缩放级别。1. / 获取地图控制器,可以用它控制平移和缩放2. MapController mMapController = mMapView.getController();3. 4. / 用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6)5.6. / 北京天安门的经纬度:39.915 * 1E6,116.404 * 1E67. / GeoPoint mGeoPoint = new GeoPoint(int) (39.915 * 1E6), (int) (116.404 * 1E6);8. 9. / 上海市浦东新区的GPS纬度经度值:31.224078,121.54041910. GeoPoint mGeoPoint = new GeoPoint(11. (int) (31.224078 * 1E6),12. (int) (121.540419 * 1E6);13. 14. / 设置地图的中心点15. mMapController.setCenter(mGeoPoint);16. / 设置地图的缩放级别。 这个值的取值范围是3,18。17. mMapController.setZoom(13);复制代码d.重写Activity的生命周期回调方法onResume()、onPause()和onDestroy(),管理地图引擎管理类对象和显示对象生命周期。1. Override2. protected void onResume() 3. mMapView.onResume();4. if (mBMapManager != null) 5. mBMapManager.start();6. 7. super.onResume();8. 9.10. Override11. protected void onPause() 12. mMapView.onPause();13. if (mBMapManager != null) 14. mBMapManager.stop();15. 16. super.onPause();17. 18.19. Override20. protected void onDestroy() 21. mMapView.destroy();22. if (mBMapManager != null) 23. mBMapManager.destroy();24. mBMapManager = null;25. 26. super.onDestroy();27. 后面附有完整代码MainActivity.javapackage com.example.lele;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.widget.Toast;import com.baidu.mapapi.BMapManager;import com.baidu.mapapi.MKGeneralListener;import com.baidu.mapapi.map.MKEvent;import com.baidu.mapapi.map.MapController;import com.baidu.mapapi.map.MapView;import api.basestruct.GeoPoint;public class MainActivity extends Activity /该例粽/*地图引擎管理类*/ private BMapManager mBMapManager = null; /*显示地图的View*/ private MapView mMapView = null; /* * 经研究发现在申请KEY时:应用名称一定要写成my_app_应用名(也就是说my_app_是必须要有的)。 * 百度地图SDK提供的服务是免费的,接口无使用次数限制。您需先申请密钥(key),才可使用该套SDK。 * */ public static final String BAIDU_MAP_KEY = XdL6huRQpBNIZQNmPmAijmsU;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); / 注意:请在调用setContentView前初始化BMapManager对象,否则会报错 mBMapManager = new BMapManager(this.getApplicationContext(); mBMapManager.init(BAIDU_MAP_KEY, new MKGeneralListener() Override public void onGetNetworkState(int iError) if (iError = MKEvent.ERROR_NETWORK_CONNECT) Toast.makeText(MainActivity.this.getApplicationContext(), 您的网络出错啦!, Toast.LENGTH_LONG).show(); Override public void onGetPermissionState(int iError) if (iError = MKEvent.ERROR_PERMISSION_DENIED) / 授权Key错误: Toast.makeText(MainActivity.this.getApplicationContext(), 请在 DemoApplication.java文件输入正确的授权Key!, Toast.LENGTH_LONG).show(); ); setContentView(R.layout.activity_main); mMapView = (MapView) this.findViewById(R.id.bmapView); / 设置启用内置的缩放控件 mMapView.setBuiltInZoomControls(true); / 获取地图控制器,可以用它控制平移和缩放 MapController mMapController = mMapView.getController(); GeoPoint p ; double cLat =34.621554 ; double cLon = 112.39957 ; p = new GeoPoint(int)(cLat * 1E6), (int)(cLon * 1E6); mMapController.setCenter(p); / 设置地图的缩放级别。 这个值的取值范围是3,18。 mMapController.setZoom(13); / 重写以下方法,管理API Override protected void onResume() mMapView.onResume(); if (mBMapManager != null) mBMapManager.start(); super.onResume(); Override protected void onPause() mMapView.onPause(); if (mBMapManager != null) mBMapManager.stop(); super.onPause(); Override protected void onDestroy() mMapView.destroy(); if (mBMapManager != null) mBMapManager.destroy(); mBMapManager = null; super.onDestroy(); Overridepublic boolean

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论