关于调用腾讯定位sdk遇到的问题

最近业务上有需求需要获取h5和小程序用户所在经纬度,经过讨论准备统一采用腾讯定位,原本小程序打算同样接入腾讯的sdk,后来发现微信自带的获取用户位置信息wx.getLocation中有个type配置项,而gcj02是腾讯高德谷歌通用的坐标类型,这样就省事多了。在开发工具上运行时发现定位不准确,后来发现在开发工具上是使用ip进行模拟定位,在真机调试时定位没什么问题。

主要的问题出在h5定位,按照官方给出的步骤注册,拿到定位需要的key,在将官方demo拷贝运行时发现精准定位定位失败,换了多个浏览器都存在问题,用nginx代理后在手机上访问同样无法定位,百度之后发现相关文档都是直接拷贝官方demo,似乎每个人都成功了?!打开调试看到两个接口,一个ip定位已经获取到了信息,另一个永远都在定位中,妥妥的超时了,时间紧急没有功夫去深究问题,只好寻求其他解决方案,花了一点时间找到了两个替代方案,一个还是腾讯的ip定位,地址是https://lbs.qq.com/javascript_v2/case-run.html#sample-geolocation-simple ,感觉虽然还是有点粗糙,但是起码相差不是很远,业务需求也不是用来定位用户,而是将经纬度当作部分参数结合设备指纹用作授信,关键相比于第二个方案泛用性高。第二个方案定位十分精准,通过浏览器定位(navigator.geolocation)结合腾讯的坐标转换精准获取用户经纬度,将获取到的经纬度在地图上展示发现的确比较准确,但是问题是chrome中无法定位。。。咳咳,大概是因为那堵神秘的墙的缘故?在手机浏览器或者微信自带浏览器中打开注意需要打开gps,对定位精度要求比较高的情况可以采用这种方式。

对腾讯定位给的官方demo定位失败还是耿耿于怀,打算空下来再研究一下,如果有知道问题所在的朋友请务必告诉我,感谢!

猜你喜欢

转载自www.cnblogs.com/shengchenfeng/p/12155341.html