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

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

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. python 函数 之 用户注册register()

    db_path='db.txt' #定义默认文件路径,方便修改def get_uname(): while True: uname=input('请输入用户名:').strip() if uname. ...

  2. Validation(1)

    站在巨人的肩膀上 Java Bean Validation 最佳实践 参数校验是我们程序开发中必不可少的过程.用户在前端页面上填写表单时,前端js程序会校验参数的合法性,当数据到了后端,为了防止恶意操 ...

  3. StringUitl工具类中的一种写法

    typeHandlersPackageArray = StringUtils.tokenizeToStringArray(this.typeAliasesPackage, ",; \t\n& ...

  4. 世风日下的哗啦啦族I (简单分块模板)

    题目链接 #include <bits/stdc++.h> using namespace std; typedef long long ll; #define inf 0x7ffffff ...

  5. iReport - 无法正常启动的解决方法

    问题与分析 最近需要用到iReport报表工具,但是在启动客户端时却发现只出现了启动界面,很快就界面消失没反应了.反复打开了好几次客户端,都无法正常打开.问了下同事,说是因为jdk升级的原因,以前项目 ...

  6. 个人常用Git操作记录

    本地分支与远程分支建立联系 Git - 新建本地分支与远程分支关联问题 查看本地分支与远程分支关系: git branch -vv 当前分支与远程分支建立关系: git branch --set-up ...

  7. Spring+JCaptcha验证码使用示例

    1,导入jcaptcha.jar包,这里用的是1.0版本 2,编写captcha-context.xml配置文件(非必须,可在spring配置文件中直接添加): <?xml version=&q ...

  8. 前端之CSS盒模型介绍

    css盒模型 css盒模型是css的基石,盒模型由content(主体内容),padding(补白,填充),border(边框),margin(外间距); 1.content: width:数值+单位 ...

  9. Java GUI setSize()、setPreferredSize()的区别

    setSize().setPreferredSize()都可以设置组件的大小,但二者的使用有所不同. 1.setSize()的使用方式 setSize(int width,int height) se ...

  10. JS小游戏

    捕鱼达人 飞机大战游戏 详解javaScript的深拷贝 http://www.cnblogs.com/penghuwan/p/7359026.html