最新百度地图支持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,是真机执行的(百度 ...
随机推荐
- java中的静态代码块等执行顺序
http://www.cnblogs.com/naruto469/p/3608459.html public class Print { 2 3 public Print(String s){ 4 S ...
- centos 命令行 连接无线网卡
ifconfig wlan0 up 1 ifconfig wlan0 iwlist wlan0 scan wpa_passphrase naizhongnai naizhong >> /e ...
- apache:添加cgi模式
最终期望:通过配置apache的cgi能够使得apache能通过cgi方式连接go程序(因为我们的后端程序是用go语言写的). 实验1: 期望:通过配置cgi使得应用程序能够跑起来. go代码: pa ...
- 在linux中创建samba,为Windows共享文件
#首先在linux系统安装samba服务 yum install samba 共享一个目录,使用用户名和密码登录后才可以访问,要求可以读写打开samba的配置文件/etc/samba/smb.con ...
- Mongoose如何实现统计查询、关联查询
[问题]Mongoose如何实现统计查询.关联查询 发布于 4 年前 作者 a272121742 13025 次浏览 最近业务上提出一个需求,要求能做统计,我们设计的文档集,统计可能跨越的文档会 ...
- json解析尖括号<>
如题 rs.getString("HEADLINE").replaceAll("<", " <").replaceAll(&qu ...
- linux下mysql root密码忘记修改方法
一.MySQL密码的恢复方法之一 如果忘记了MySQL的root密码,可以用以下方法重新设置:1.切换到root下su root 2. KILL掉系统里的MySQL进程: killall -TERM ...
- Inno Setup入门(十二)——Pascal脚本(1)
事件函数(1) Inno Setup支持以下函数和过程. function InitializeSetup(): Boolean; 该函数在安装程序初始化时调用,返回False 将中断安装,True则 ...
- 这几个linux 命令
原文: linux性能分析 http://www.cnblogs.com/peida/tag/linux%E6%80%A7%E8%83%BD%E5%88%86%E6%9E%90/ du -sh /da ...
- ng-option小解
ng-option 有数组,对象两种情况,但目前只接触过数组 数组: label for value in array 分为一般数组和对象数组 一般数组: <select ng-model=&q ...