最新百度地图支持Fragment(注意事项)


分类: Android平台

开篇:
老的百度地图通常都要继承MapActivity,这样不利于代码的可扩展性,再加上Fragment的流行,老的百度地图已经远远不能满足的大家的需求,于是新版百度地图问世了。它不再需要继承MapActivity,开发者们可以随心而欲地去使用它们了。

注意事项
1、如果要使用新的百度地图API,就要申请新的Key(老版本的百度地图对应老key,百度官方表示仍然可用)。
      点击这里进入申请新key的网址(百度官方网址)

2、新Key机制:每个Key仅且唯一对于1个应用验证有效,即对该Key配置环节中使用的包名匹配的应用有效。因此,多个应用【包括多个包名】需申请多个Key,或者对1个Key进行多次配置。
      点击这里进入新key的申请流程详解

3、 BMapManager 类中的方法public boolean init( MKGeneralListener  listener)自2.4.1 版本起,key不用通过此接口传入,而是放入AndroidManifest.xm的mata-data中。

4、从官网中下载最新的百度地图API。这里面的demo可以用来做参考。
      点击这里进入最新百度地图API下载的网址


5、等待准备工作完成之后,就可以正式开始最新百度地图的代码编写了。
      点击这里进入"Hello World"demo的编写
     一定要严格按照这个流程来做,
   (1)添加需要的jar文件,so文件( 一定不要忘了.so文件 );
   (2)添加权限,一个也不能少;
   (3)最关键的就是Key的存放;后来我在运行代码的时候,总是提示授权key错误的信息,我尝试了很多办法都没有解决这个问题,之后我请我的同事帮我申请了一个key之后就好了,至于为什么会这样我也不知道。如果大家在今后的开发中碰到这样的问题,首先要先检查这些流程有没有做到位,其次可以让其他同事帮忙申请一下新的Key,申请新key一定要按照官网的流程来。
            
  1. <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="开发密钥">
  2. </meta-data>
6、还有最后一点最重要的地方,一定要加入服务。
  1. <service
  2.         android:name="com.baidu.location.f"
  3.         android:enabled="true"
  4.         android:process=":remote"
  5.         android:permission="android.permission.BAIDU_LOCATION_SERVICE">
  6.         <intent-filter>
  7.             <action android:name="com.baidu.location.service_v2.6"></action>
  8.         </intent-filter>
  9.     </service>

7、定位的时候一定要注意:
LocationClient mLocClient=  new LocationClient(getApplicationContext());
如果是写在Fragment里面就要写成 mLocClient = new LocationClient(getActivity().getApplicationContext());
否则定位监听函数onReceiveLocation不会执行。我就是在这里纠结了很久,但愿大家不要重蹈覆辙。

 后记:
只要大家严格按照这个流程来,新版百度地图是可以用起来的(当然可以放在Fragment中使用),我已经运行通过了,希望各位开发者们也能顺利运行。
Android百度地图Fragment百度地图SDK提供的一个组件,可以在Android应用中嵌入地图功能。通过使用百度地图Fragment,开发者可以将地图显示在应用的某个界面上,并且可以在界面上进行一系列的交互操作。 使用百度地图Fragment,首先需要在项目的build.gradle文件中添加百度地图SDK的依赖,然后在布局文件中添加一个Fragment容器,用于显示地图。在代码中可以通过调用BaiduMapOptions的各种方法来对地图进行配置,比如设置缩放级别、显示比例尺、开启交通图等。 在Activity的代码中,需要通过FragmentManager获取到百度地图Fragment的实例,并将其添加到容器中。之后可以通过Fragment的生命周期方法进行地图的初始化和释放,比如在onCreateView方法中初始化地图,onResume方法中重新激活地图,onPause方法中暂停地图的更新等。 通过百度地图Fragment,可以实现一些常见的地图操作,比如地图的缩放、平移、添加覆盖物等。开发者可以通过调用百度地图SDK提供的方法,来实现这些功能。同时,百度地图Fragment还提供了一些回调方法,可以监听地图的变化,比如地图状态的改变、覆盖物的点击等。 总之,Android百度地图Fragment是一个非常方便的组件,可以帮助开发者在Android应用中添加地图功能,并且提供了丰富的操作和回调方法,可以满足开发者的各种需求。通过合理使用百度地图Fragment,可以为用户提供更好的地图体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值