最新百度地图支持Fragment(注意事项)(转)
老的百度地图通常都要继承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一定要按照官网的流程来。
- <meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="开发密钥">
- </meta-data>
6、还有最后一点最重要的地方,一定要加入服务。
<service
- android:name="com.baidu.location.f"
- android:enabled="true"
- android:process=":remote"
- android:permission="android.permission.BAIDU_LOCATION_SERVICE">
- <intent-filter>
- <action android:name="com.baidu.location.service_v2.6"></action>
- </intent-filter>
- </service>
7、定位的时候一定要注意:
LocationClient mLocClient= new LocationClient(getApplicationContext());
如果是写在Fragment里面就要写成 mLocClient = new LocationClient(getActivity().getApplicationContext());
否则定位监听函数onReceiveLocation不会执行。我就是在这里纠结了很久,但愿大家不要重蹈覆辙。
后记:
只要大家严格按照这个流程来,新版百度地图是可以用起来的(当然可以放在Fragment中使用),我已经运行通过了,希望各位开发者们也能顺利运行。
最新百度地图支持Fragment(注意事项)(转)的更多相关文章
- 百度地图支持https
百度地图SDK, 支持https <script src="http://api.map.baidu.com/api?v=3.0&ak=nbnttGGI6lilllgy2zn ...
- iOS开发---集成百度地图完善版
一.成为百度的开发者.创建应用 http://developer.baidu.com/map/index.php?title=首页 (鼠标移向 然后选择你的项目需要的功能 你可以在里面了解到你想要使用 ...
- 百度地图API多个点聚合时,标注添加的标签label地图刷新就丢失的问题解决
当将自定义的Marker(含有Label)通过MarkerClusterer 管理的时候,当地图发生任何移动.缩放 的时候,Marker 的Label 就会自动消失. 这个问题主要是由于百度的点聚合A ...
- ios添加百度地图方法
Hello BaiduMapiOS SDK 引入头文件 引入静态库文件 引入系统framework 引入mapapi.bundle资源文件 初始化BMKMapManager 创建BMKMapView ...
- ios 百度地图
百度地图 中的注意事项 1. 百度地图中 使用了c++ 设置buidSeting compoileSource 为 Object-C++ 强制使用oc++编译器 2. 设置 BuidSeti ...
- 百度地图点聚合MarkerClusterer,性能优化
参考文献:http://www.cnblogs.com/lightnull/p/6184867.html 百度的点聚合算法 是基于方格和距离的聚合算法,即开始的时候地图上没有任何已知的聚合点,然后遍历 ...
- [转]百度地图点聚合MarkerClusterer移动地图时,Marker的Label丢失的问题
参考文献:http://www.cnblogs.com/jicheng1014/p/3143859.html 问题现象: 使用MarkerClusterer_min.js,可以实现点聚合,但是当将带有 ...
- 百度地图点聚合MarkerClusterer性能优化
公司要求做个百度地图点聚合的性能优化,需一次性加载9万条数据. 记录下自己的优化过程.(只想看优化代码的可直接移步:步骤三) 一.引入百度地图 vue项目中,在index.html文件中用script ...
- iOS百度地图
一.百度地图sdk具体使用过程,參考以下的博客(我感觉非常具体.并且有问题能够找楼主.他会给解答,感谢好心人-): 怎样使用百度地图sdk,及相关demo下载 上述博客给的demo,是真机执行的(百度 ...
随机推荐
- array_walk与array_map 的不同 array_filter
array_walk 主要是要对数组内的每个值进行操作,操作结果影响原来的数组 array_map主要是对数组中的值进行操作后返回数组,以得到一个新数组 wallk 可以没有返回值 map要有,因 ...
- .NET面试题目一
简单介绍下ADO.NET和ADO主要有什么改进? 答:ADO以Recordset存储,而ADO.NET则以DataSet表示,ADO.NET提供了数据集和数据适配器,有利于实现分布式处理,降低了对数据 ...
- ios控件 UILabel
UILabel 的作用是显示文本 UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 100, 40)]; lab ...
- PHP:var_dump展示不全
问题:var_dump展示不全,出现省略号 我们使用php的var_dump函数,可以更直观的查看输出结果,包括类型,数量等详细信息.此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值.数 ...
- NSArray或NSDictionary中汉字输出
1.问题: NSArray *array = [NSArray arrayWithObjects:@"我",@"在",@"鼓楼", nil] ...
- js 获取当前点击的标签
- libMobileGestalt与UDID
libMobileGestalt与UDID 没有评论 在iOS中,libMobileGestalt动态库, 用来取得各种系统变量,比如UDID, 磁盘使用量, 设备版本 在iOS7中,对于开发者来说, ...
- TForm类有关属性简介
http://www.cnblogs.com/pchmonster/archive/2012/01/02/2310377.html
- js播放器
<object?id="player"?height="64"?width="260"?classid="CLSID:6BF ...
- PHP开源CRM-推荐几个
http://www.xinyou88.com/about/xcrm.html 因为医院要同步用户到诊统计的信息.是拿着表单来回送.途中大概有20分钟左右.有些机器和互联网可以搞定的事情.人力来做.在 ...