最新百度地图支持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,是真机执行的(百度 ...
随机推荐
- bzoj1977
1977: [BeiJing2010组队]次小生成树 Tree Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 3001 Solved: 751[Su ...
- Java类和类成员的访问权限修饰符
一:访问修饰符: 1.省略访问修饰符 具有默认的访问特性,即具有包访问特性,只能被同一个包中的类使用. 2.public访问修饰符 用于说明类和类的成员的访问权限.这种类叫公有类.在一个文件中只能有一 ...
- Java变量名命名规则
$ .字母.下划线开头都行,后面的可以是数字.字母.下划线: 匈牙利命名法.Camel命名法与Pascal命名法 匈牙利命名法:在Windows编程中使用非常普遍,由微软的一位匈牙利程序员提出.匈牙利 ...
- APUE读书笔记:进程控制
重点函数:fork,exit,_exit 一.fork 函数原型: #include <unistd.> pid_t fork(void) 函数说明:fork函数将创建一个子进程,该函数调 ...
- mysql存入中文乱码问题
1. 查询编码 SHOW VARIABLES LIKE 'character_set_%' 2. 改数据库和单项 alter database tsdr character set utf8; set ...
- C/C++时间函数的使用
来源:http://blog.csdn.net/apull/article/details/5379819 一.获取日历时间time_t是定义在time.h中的一个类型,表示一个日历时间,也就是从19 ...
- SQL语句创建access表
CREATE TABLE Persons(ID AutoIncrement primary key,Id_P int NOT NULL,LastName varchar(255) NOT NULL,s ...
- xmlHTTP技术资料
一.数据库远程管理技术 基于互联网的广域网现代应用中的一个重要环节是数据库远程监控.首先简单回顾一下互联网上的数据库远程管理技术的发展过程和方式: 早期通过编写CGI-BIN程序模块进行数据库远程管理 ...
- 扫描局域网内的ip和主机名
1. 目的 今天发现我配置的一台电脑ip被人占用了,所以准备写个程序扫描一下局域网内所有正在使用的ip和主机名 2. 实现--直接上代码 import time import threading im ...
- Spotlights
Spotlights time limit per test 1 second memory limit per test 256 megabytes input standard input out ...