【备注】公司项目中遇到的问题,如果你在团队工作其中定有不少配合方面的问题,其中的思路是可以借鉴的,因为这也许正是你们现在遇到的问题,总结的不好的地方还请多多指教

因为项目需求的确定,定位成了必不可少的环节,在这个环节上尝试了许多方法都不尽人意。现在总结以下几点:

1.项目应用套壳框架(及时云)的问题

主要大方面的问题还是因为套壳软件的定位没有处理好,初期智慧海洋的定位完全没问题,使用的是及时云内置api定位,而宁波渔信通因为一些原因被阉割了许多功能,包括许多场景应该使用的定位。经过会议沟通并提出意见,相关负责人开始重视并处理了ios定位相关问题,但是安卓版部分机型始终存在定位方面的bug。

2.第三方定位插件出现的问题

由于定位阉割的原因,于是开始尝试第三方插件,最终决定使用高德地图的服务,很遗憾套壳应用并不能很好的支持相关的服务(无法开启定位权限,ios解决,安卓部分机型无法出现提示),使用ip定位可以解决问题,但是会出现很大的偏差。

不建议使用ip定位

IP地址和手机号码有相似的地方,比方说划分重庆地区的地址是一个范围,而四川又是另一个范围,正常情况下,但只是大概的划分,并一特别准确,

比方说重庆的ip地址不够用了,从四川调一部分过来,那么你在重庆用这部分的IP上网,那么显示的就是四川的。如果是从广东借的就显示是广东的。当过段时间官方的分配者会更新的,至于时间是多长,可能是一星期,一个月,一年,都有可能。

还有就是现在的家庭一般都是ADSL拨号上网,每次拨号分配的IP地址都是不固定的,如果运营商所跨的地理范围比较大的话,比如(假设),四川电信和广东电信是一个老总,一套领导班子管的,那么他手里既有广东的IP,又有四川的。而你拨号的时候是自动分配的,有可能这次给的是四川的,下次给的是广东的。

当然上面是假设,不是真的存在。只是做个比喻,IP地址一般情况下是准确的,但不排除有错误的,就像手机号码一样,如果我有钱,有精力,一定要把我北京的号码改成南京去用,在理论上是可以的,但在实际上,要花费大量的资源,因为改个号容易,但其他的配套的其他东西改起就麻烦了,所谓牵一发而动全身就是这个道理。

3.最终解决方案

经过多种尝试,最终发现腾讯定位可以很好的弥补高德定位部分机型不可定位的问题。所以项目中使用了两个第三方定位插件,必须通过触发机制同时触发两个不同的服务,哪个服务定位成功就执行哪个服务转而去执行相应的方法。

4.建议

项目中不推荐使用多个定位服务,有点冗余,但是这的确是当前项目最好的处理方法。

从根本上我们应该改造项目应用套壳框架(及时云)的问题,完善各类api,提高开发效率

高德定位腾讯定位在APP上无法开启定位权限的解决方案的更多相关文章

  1. 混合元素app的H5元素定位

    问题思考 在混合开发的App中,经常会有内嵌的H5页面.那么这些H5页面元素该如何进行定位操作呢? 解决思路 针对这种场景直接使用前面所讲的方法来进行定位是行不通的,因为前面的都是基于Andriod原 ...

  2. IE8 没有内容的盒子,如果有定位,浮现在其他盒子上 可能会有点击穿透没有作用的情况

    IE8 没有内容的盒子,如果有定位,浮现在其他盒子上 可能会有点击穿透没有作用的情况

  3. UI定位元素大全(跟App定位元素差不多哦)

    selenium+python自动化之元素定位 作者:一飞冲天 同样的道理,把一个页面上的元素当成是一个对象(你的女神),我们就可以通过她的属性值来找到她,比如她性别女爱好爬山---------你就可 ...

  4. “杀死” App 上的疑难崩溃

    在移动应用性能方面,崩溃带来的影响是最为严重的,程序崩了可以打断用户正在进行的操作体验,造成关键业务中断.用户留存率下降.品牌口碑变差.生命周期价值下降等影响.很多公司将崩溃率作为优先级最高的技术指标 ...

  5. iOS开发雕虫小技之傻瓜式定位神器-超简单方式解决iOS后台定时定位

    1.概述 由于公司一款产品的需求,最近一直在研究iOS设备的后台定位.主要的难点就是,当系统进入后台之后,程序会被挂起,届时定时器.以及代码都不会Run~ 所以一旦用户将我的App先换到了后台,我的定 ...

  6. iOS app上传错误集锦(转载)

    1.工程里增加了版本自动更新. 2.未增加判断网络状态的类Reachability. 3.问题:error itms -90049 This bundel is invalid. The bundle ...

  7. Android 系统api实现定位及使用百度提供的api来实现定位

    目前在国内使用定位的方法主要是 1. Android系统提供的 LocationManager locationManager = (LocationManager) getSystemService ...

  8. iOS开发检测是否开启定位、是否允许消息推送等权限

    1.iOS开发检测是否开启定位: 需要导入: #import <CoreLocation/CoreLocation.h> 代码如下: + (void)openLocationService ...

  9. app上传到App Store的快捷方法及步骤

    跳过证书的申请及配置概要文件的设置, 现在根据已有的配置概要文件及发布证书开始: 1.先在Xcode上的PROJECT和TARGETS->Build Setting->Code Signi ...

随机推荐

  1. [Xcode 实际操作]九、实用进阶-(22)Storyboard故事板的常用布局结构

    目录:[Swift]Xcode实际操作 本文将演示如在使用故事板搭建项目时,常用的一种故事板布局结构. 在项目导航区,打开故事板文件[Main.storyboard] 当前故事板中只有一个视图控制器控 ...

  2. 新装ubuntu 12.04 , 使用技巧

    *********************************************** 一.让Ubuntu 12.04开机默认进入命令行模式. 修改 /etc/default/grubGRUB ...

  3. java面试基础问题

    1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致. 2.Java有 ...

  4. LOJ6212(博弈论)

    n <= L 和 n <= 2L 情况显然,一次就能取完: 分析 n > 2L 时: Alice手速太快,Bob同学是弱势群体,所以Bob肯定不能单纯地模仿Alice,那样顶多是平手 ...

  5. Codeforces Round #396 (Div. 2) B

    Mahmoud has n line segments, the i-th of them has length ai. Ehab challenged him to use exactly 3 li ...

  6. bzoj 4695: 最假女选手 && Gorgeous Sequence HDU - 5306 && (bzoj5312 冒险 || 小B的序列) && bzoj4355: Play with sequence

    算导: 核算法 给每种操作一个摊还代价(是手工定义的),给数据结构中某些东西一个“信用”值(不是手动定义的,是被动产生的),摊还代价等于实际代价+信用变化量. 当实际代价小于摊还代价时,增加等于差额的 ...

  7. 25 Groovy 相关资料

    Groovy Homepage Groovy API page Groovy documentation Groovy Goodness blog series from Hubert Klein I ...

  8. Linux网路命令netstat

    Linux网路命令netstat netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表.实际的网络连接以及每一个网络接口设备的状态信息. 参数 参数 用法 详解 -a或--a ...

  9. C# 枚举类型的描述信息获取

    新建一个控制台方法,写好自己的枚举类型: 如图: 在里面添加获取描述的方法: 具体源码: 链接:http://pan.baidu.com/s/1nv4rGkp 密码:byz8

  10. kafka基础三

    消费者消费消息过程(一) 消费者组 消费者是以消费者组consumer group的方式进行消息消费的,一个消费者组是由一个或者多个消费者组成的,共同消费一个topic,在每个分区同一时间只能由消费者 ...