Android 百度地图API学习(二)-------小试牛刀

15 篇文章 0 订阅

在前一篇中,已经完成了api的配置工作 Android百度地图API学习(一)

这一篇中,开始用个小例子来学习一下开发的基本流程

  1.   

第一步 在xml布局文件中加入mapview控件

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:orientation="vertical" android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent">  
  5.     <TextView android:layout_width="fill_parent"  
  6.         android:layout_height="wrap_content" android:text="@string/hello" />  
  7.     <com.baidu.mapapi.MapView android:id="@+id/bmapsView"  
  8.         android:layout_width="fill_parent" android:layout_height="fill_parent"  
  9.         android:clickable="true" />  
  10. <span style="color: rgb(51, 51, 51); font-family: 'Microsoft YaHei'; line-height: 30px; ">MapController类</span></LinearLayout>  

 第二步,Manifest中添加使用权限

  1. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>  
  2. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>  
  3. <uses-permission android:name="android.permission.INTERNET"></uses-permission>  
  4. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>  
  5. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>    
  6. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>   
  7. <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>  
第三步开始写主体工程了

  1. public class MainActivity extends MapActivity  implements LocationListener {  
  2.     BMapManager mBMapMan;  
  3.      MapController mMapController;  
  4.      MKOfflineMap mOffline = null//申明变量 离线地图  
  5.     @Override  
  6.     public void onCreate(Bundle savedInstanceState) {  
  7.         super.onCreate(savedInstanceState);  
  8.         setContentView(R.layout.activity_main);  
  9.     
  10.           
  11.         //BMapManager的方法  
  12.         mBMapMan = new BMapManager(getApplication());  
  13. //        mBMapMan.init("3B388F2271D0255A779274772B906055B2942088", null);//这是普通的 地图管理器的 注册  
  14.         mBMapMan.init("注册码"new MKGeneralListener() {  
  15.             public void onGetPermissionState(int iError) {  
  16.                 // TODO 返回授权验证错误,通过错误代码判断原因,MKEvent中常量值。  
  17.                 System.out.println("");  
  18.             }  
  19.             public void onGetNetworkState(int iError) {  
  20.                 // TODO 返回网络错误,通过错误代码判断原因,MKEvent中常量值。  
  21.                 System.out.println("");  
  22.             }  
  23.         });  
  24.         super.initMapActivity(mBMapMan);  
  25.          
  26.           
  27.       //mapview的方法  ,都是一些地图显示情况。  MapView.LayoutParams可以进行布局的设置  
  28.         MapView mMapView = (MapView) findViewById(R.id.bmapsView);  
  29.       //设置启用内置的缩放控件  
  30.         mMapView.setBuiltInZoomControls(true);    
  31.       //交通图  
  32.       //mMapView.setTraffic(true);  
  33.       //卫星图  
  34.       //mMapView.setSatellite(true);  
  35.       //加入新的图层  
  36.         mMapView.getOverlays().add(new MyOverlay());          
  37.          //设置地图中心点  
  38.          //mMapController.setCenter(p2);   
  39.            
  40.          //获取最大缩放级别  
  41.          //int zoomax=mMapView.getMaxZoomLevel();  
  42.          //获取当前缩放级别  
  43.          //int currentzoom=mMapView.getZoomLevel();  
  44.          //onDetachedFromWindow() 当mapview与window分离使用 就要清除缩放控件  
  45.          //getProjection() 获取屏幕像素和经纬度转换  
  46.              //Point point = mapView.getProjection().toPixels(p2, null);  
  47.              //canvas.drawText("深圳新世纪", point.x, point.y, paint);  
  48.          //获得覆盖层列表  
  49.           //List<Overlay> lo=new ArrayList<Overlay>();  
  50.           //lo=mMapView.getOverlays();  
  51.            
  52.       // MapController处理地图移动和缩放的工具类。  
  53.         // 得到mMapView的控制权,可以用它控制和驱动平移和缩放     
  54.         mMapController = mMapView.getController();      
  55.         //设置地图zoom级别   
  56.         mMapController.setZoom(15);     
  57.   
  58.     }  

最后要加入关于BMapManager的管理设置

  1. @Override  
  2.    protected void onDestroy() {  
  3.        if (mBMapMan != null) {  
  4.            mBMapMan.destroy();  
  5.            mBMapMan = null;  
  6.        }  
  7.        super.onDestroy();  
  8.    }  
  9.    @Override  
  10.    protected void onPause() {  
  11.        if (mBMapMan != null) {  
  12.            mBMapMan.stop();  
  13.        }  
  14.        super.onPause();  
  15.    }  
  16.    @Override  
  17.    protected void onResume() {  
  18.        if (mBMapMan != null) {  
  19.            mBMapMan.start();  
  20.        }  
  21.        super.onResume();  
  22.    }  
这样就可以进行基本的使用了,在我们的模拟器上打开了一个百度地图。对地图进行移动显示等浏览

其实,基本的就是BMapManager 类和MapController类

BMapManager 类,负责管理地图引擎。

  1. mBMapMan = new BMapManager(getApplication());  
  2. BMapMan.init("3B388F2271D0255A779274772B906055B2942088"null);//这是普通的 地图管理器的 注册  
  1. mBMapMan.start();<span style="font-family: 宋体; line-height: 18px; background-color: rgb(245, 249, 252); ">//开启api</span>  
MapController类,负责处理地图移动和缩放。

  1. mMapController = mMapView.getController();      
  2.      //设置地图zoom级别   
  3.      mMapController.setZoom(15);     

最后是效果图:


 app_mapacivity.png

原文地址:点击打开链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值