荣耀6怎么开启高德地图地理围栏demo功能

LBS的新应用――地理围栏_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
LBS的新应用――地理围栏
上传于||文档简介
&&地​理​围​栏​(​G​e​o​-​f​e​n​c​i​n​g​)​是​L​B​S​的​一​种​新​应​用​,​就​是​用​一​个​虚​拟​的​栅​栏​围​出​一​个​虚​拟​地​理​边​界​。​当​手​机​进​入​、​离​开​某​个​特​定​地​理​区​域​,​或​在​该​区​域​内​活​动​时​,​手​机​可​以​接​收​自​动​通​知​和​警​告​。
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩8页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢后使用快捷导航没有帐号?
暂时没有人问过相似的问题,你可以做第一个提问题的人
查看: 9633|回复: 14
为什么我用百度的地理围栏statusCode总是1?
本帖最后由 驯龙星兽很迷茫 于
15:10 编辑
如题,我用百度地图的地理围栏功能返回的statusCode总是1,我贴出我的设置代码// 初始化地理围栏
mGeofenceClient = new GeofenceClient(this);
BDGeofence fence = new BDGeofence.Builder().setGeofenceId(&geofence&).
setCircularRegion(116..047951, BDGeofence.RADIUS_TYPE_SMALL)
. setExpirationDruation(10L * (3600 * 1000))
. setCoordType(BDGeofence.COORD_TYPE_BD09LL)
mGeofenceClient.setInterval();
mGeofenceClient .registerGeofenceTriggerListener(new GeofenceEnterLister());
& && && && && & mGeofenceClient.addBDGeofence(fence, new AddGeofenceListener());
以上代码是在onCreat()方法中的。
下面是listener
* 添加围栏回调:OnAddBDGeofencesResultListener
* @author longhui
public class AddGeofenceListener implements OnAddBDGeofencesResultListener {
public void onAddBDGeofencesResult(int statusCode,
String geofenceRequestId) {
Toast.makeText(getApplicationContext(), &地理围栏创建&+statusCode, 0).show();
if (statusCode == BDLocationStatusCodes.SUCCESS) {
Toast.makeText(getApplicationContext(), &地理围栏创建成功&, 0).show();
mGeofenceClient.start();
if(statusCode==BDLocationStatusCodes.GEOFENCE_NOT_AVAIABLE)
Toast.makeText(getApplicationContext(), &GEOFENCE_NOT_AVAIABLE&, 0).show();
if(statusCode==BDLocationStatusCodes.GEOFENCE_SERVICE_NO_ALIVIABLE)
Toast.makeText(getApplicationContext(), &GEOFENCE_SERVICE_NO_ALIVIABLE&, 0).show();
if(statusCode==BDLocationStatusCodes.GEOFENCE_TOO_MANY_GEOFENCES)
Toast.makeText(getApplicationContext(), &GEOFENCE_TOO_MANY_GEOFENCES&, 0).show();
if(statusCode==BDLocationStatusCodes.ERROR)
Toast.makeText(getApplicationContext(), &ERROR&, 0).show();
* 删除围栏回调:OnRemoveBDGeofencesResultListener
* @author longhui
public class RemoveFenceListener implements
OnRemoveBDGeofencesResultListener {
public void onRemoveBDGeofencesByRequestIdsResult(int statusCode,
String[] geofenceRequestIds) {
if (statusCode == BDLocationStatusCodes.SUCCESS) {
Toast.makeText(getApplicationContext(), &地理围栏删除成功&, 0).show();
* OnGeofenceTriggerListener回调接口
* @author Administrator
public class GeofenceEnterLister implements OnGeofenceTriggerListener {
// 进入围栏
public void onGeofenceTrigger(String geofenceRequestId) {
Toast.makeText(getApplicationContext(), &你已进入工一732范围&, 0).show();
// 退出围栏
public void onGeofenceExit(String geofenceRequestId) {
Toast.makeText(getApplicationContext(), &你已离开工一732范围&, 0).show();
返回的statusCode总是1,求解。
你好 这个去定位版块进行反馈& &地理围栏 是定位的功能之一~
senny_hi 我已经在定位开发板块又发了一贴,求指导,谢谢。
驯龙星兽很迷茫
那就关注一下定位那边的反馈吧,他们应该会有专门的人给你一些建议的 ~
同遇到。。。。坑爹货啊
& && &麻烦版主帮忙反馈一下把,问题都提了好久了,就是没人理,这样很没意思的
给大家分享下,看看百度的技术工程师是怎么回复的。。。。。。
百度你不成熟就别整出来么。。。。还鼓吹什么低功耗。。。现在整的是我只有笨办法解决所谓的围栏问题了。。。定为轮询,百度攻城师,额鄙视你。。。。如果google中国好使。绝对不用你。。。。别不服。。
为什么demo都无法创建一个围栏呢?statusCode返回值是1
请问你这个问题解决了吗&&?我也是这样呢?
我的最新版的百度地图定位5.0 返回也是1
一样 百度就是肯爹,都没人给个说法!
一样 百度就是肯爹,都没人给个说法!
自己搞不定,就好好请教,这态度,谁鸟你啊
自己搞不定,就好好请教,这态度,谁鸟你啊
你搞定了?没搞定说那么多别人
楼主搞定没&&我的也有问题 百度的围栏返回值不对啊 demo也跑不起来 大哥们 求教啊
Powered by地理围栏算法解析
& & & 地理围栏(Geo-fencing)是LBS的一种应用,就是用一个虚拟的栅栏围出一个虚拟地理边界,当手机进入、离开某个特定地理区域,或在该区域内活动时,手机可以接收自动通知和警告。如下图所示,假设地图上有三个商场,当用户进入某个商场的时候,手机自动收到相应商场发送的优惠券push消息。地理围栏应用非常广泛,当今移动互联网主要app如美团、大众点评、手淘等都可看到其应用身影。
图1 地理围栏示意图
& & & &地理围栏的核心问题就是判断用户是否落在某多边形围栏内部。本文将介绍实际应用中常用的解决方法。
1 如何判断点在多边形内部
& & & 地理围栏一般是多边形,如何判断点在多边形内部呢?可以通过射线法来判断点是否在多边形内部。如下图所示,从该点出发沿着X轴画一条射线,依次判断该射线与每条边的交点,并统计交点个数,如果交点数为奇数,则在多边形内部(如图3个交点),如果焦点数是偶数,则在外部,射线法对凸和非凸多边形都适用,复杂度为O(N),其它N是边数。源码可参考()
图2 射线法判断点在多边形内外
& & & &当地理围栏多边形数目较少时,我们可以依次遍历每一个多边形(暴力遍历法),然后用射线法进行判断,这样效率也很高。而当多边形数目较多时,比如有10万个多边形,这个时候需要执行10万次射线法,响应时间达到3.9秒,这在互联网应用几乎不可忍受。下表是本人的简单测试,多边形边数均为7。
表1 射线法性能测试
2 R树索引加速判断
& & & &暴力遍历法效率低下的原因是与每一个多边形都进行了射线法判断,如果能减少射线法的调用次数性能就能提升。因此我们的优化思路很直接,首先通过粗筛的方法快速找到符合条件的少量多边形,然后对粗筛后的多边形使用射线法判断,这样射线法的执行次数大大降低,效率也能大大提高。怎么粗筛呢?对于一维数据我们常常使用索引的方法,比如通过B树索引找到某一个范围区间段,然后对此范围区间段进行遍历查找,对于二维空间数据常常使用空间索引的方法,比如通过R树找到范围区间内的多边形,然后对此范围内的多边形进行精确判断,下面介绍最常使用的空间索引R树的解决思路。
& & & &1)外包矩形表示多边形
& & & &由于多边形形状各异,我们需要以一种统一的方式来对多边形进行近似,最简单的方式就是用最小外包矩形来表示多边形。
图3 最小外包矩形(MBR)表达多边形
& & & 2)对最小外包矩形建立R树索引
图4&对最小外包矩形进行R树索引
& & & & 3)查询
& & & & & a)首先通过R树迅速判断用户所在位置(粗红点)是否被外包矩形覆盖(图5,红色点代表用户所在位置;R树平均查询复杂度为O(Log(N)),N为多边形个数);
& & & & & b)如果不被任何外包矩形覆盖则返回不在地理围栏多边形内;
& & & & & c)如果被外包矩形覆盖则还需要进一步判断是否在此外包矩形的多边形内部,采用上文提到的射线法判断(图2)。
图5&R树查询示例
3 多边形边数较多怎么办
& & & &大多数应用的地理围栏多边形都比较简单,但有时也会遇到一些特别复杂的多边形,比如单个多边形的边数就超过十几万条,这时候对此复杂多边形执行一次射线法也非常耗时(因为射线法时间复杂度为O(N),N为多边形边数)。
& & & &如何提高对复杂多边形执行射线法的计算效率呢?同样使用R树索引!笔者在实际应用中对边数较多(如超过1万)的多边形的边再单独进行R树索引,具体如图6所示,首先对多边形的每条边构建最小外包矩形,然后在这些最小外包矩形基础上构建R树索引(R树索引上的外包矩形未画出),这样射线法求交点的时候首先通过R树判断射线是否与外包矩形相交,最后对R树粗筛后的边进行精确求交判断,时间复杂度从O(N)降到O(Log(N)),大大提高了计算效率。
图6 对多边形的边进行R树索引
& & & 某线上应用服务有30万个地理围栏多边形,通过在内存中构建R树索引,使得线上实时地理围栏查询平均响应时间在1ms以内,而暴力查询响应时间是9秒左右。
5 R树相关源码
&(Python)
&(Javascript)
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:37174次
排名:千里之外
原创:12篇
转载:75篇
(11)(5)(7)(7)(25)(10)(9)(14)华为荣耀6允许模拟地点是什么?有什么功能?
作者:佚名
字体:[ ] 来源:互联网 时间:06-11 16:50:39
今天小编给大家讲讲一个被很多人忽视的功能——允许模拟地点。顾名思义这个功能能够模拟你所在的地点,是一个装X到极致的功能,感兴趣的可以进来看看
华为荣耀6允许模拟地点怎么用?今天小编给大家讲讲一个被很多人忽视的功能&&允许模拟地点。顾名思义这个功能能够模拟你所在的地点,是一个装X到极致的功能。当然开启该功能后,还需要安装第三方软件来模拟地理位置。一起来看下具体操作吧!
1)打开华为荣耀6【全部设置】界面,点击【开发人员选项】,将【允许模拟地点】开启。(如下图)
2)下载一款【伪装微信地理位置】应用,便可以伪装定位地理位置了。(如下图)
3)进入微信后可以看到当地的美眉了。(如下图)
大家感兴趣的内容
12345678910
最近更新的内容}

我要回帖

更多关于 高德地图地理围栏demo 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信