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

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

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 实际操作]八、网络与多线程-(5)使用UIApplication对象发送邮件

    目录:[Swift]Xcode实际操作 本文将演示如何使用应用程序单例对象,发送邮件的功能. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 注:需要使用真机进行测 ...

  2. Vue文件 引入.js文件 的组件

    Vue.component('remote-script', { render: function (createElement) { var self = this; return createEl ...

  3. python3错误之TypeError: 'dict_items' object is not callable

    这种错误出现在循环结构中套循环结构,而循环时内部循环为字典,外部循环为该字典调用items方法后取到的值,内部循环调用外部循环中遍历的结果: 解决方案: 将外部循环的items()方法调用改为.key ...

  4. Codeforces Round #532(Div. 2) B.Build a Contest

    链接:https://codeforces.com/contest/1100/problem/B 题意: 给n,m. 给m个数,每个数代表一个等级,没给一个将其添加到题目池中,当题目池中有难度(1-n ...

  5. HDU-1263(STL+排序)

    水果 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submiss ...

  6. Maximum Control (medium) Codeforces - 958B2

    https://codeforces.com/contest/958/problem/B2 题解:https://www.cnblogs.com/Cool-Angel/p/8862649.html u ...

  7. 用注解@DelcareParents实现引用增强

    引用增强,是一个比较特殊的增强,不同于其他方法级别的增强. 引用增强可以实现:一个Java类,没有实现A接口,在不修改Java类的的情况下,使其具备A接口的功能. 先看看背景,我们有个Love接口: ...

  8. C. On Number of Decompositions into Multipliers 组合数学

    http://codeforces.com/contest/397/problem/C 给出n个数字,m = a[1] * a[2] * a[3] ... * a[n] 要求把m分成n个不一样的乘积, ...

  9. SSH的端口转发

    这里是一篇很好的介绍SSH PortForwarding的文章http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/ 可以将远端服务器一 ...

  10. Spring mvc简单案例

    jar包 <!--junit--><dependency> <groupId>junit</groupId> <artifactId>jun ...