android和ios中webview获取精确定位的方案
2016-04-08 00:00
696 查看
摘要: 先使用android和ios获取当前的经纬度,再在h5中使用百度地图WEB API获取经纬度转换后的地址。
最近项目上碰到需要在webview中获取当前位置的地方,最开始是通过在h5中使用navigator.geolocation定位的方式,发现在部分安卓手机上获取不了定位的经纬度。
调整了,由IOS或者安卓获取到经纬度,然后放到webview的url中。然后使用百度地图的JS API进行坐标转换获得当前的地址,但是发现总有偏差。
类似这儿的示例:http://developer.baidu.com/map/jsdemo.htm#a5_2
最近在测试的时候,发现这个确实个问题,就了解一下定位的经纬度,安卓使用百度定位sdk,返回的是GCJ-02坐标系,查了一下IOS定位坐标,貌似在国内使用的高德地图,也是返回的GCJ-02坐标。
但我在百度地图JS API的文档里面找,没有找到convertor.translate中的参数具体是指什么,在什么地方指定参数是什么坐标系。
最后看了一下WEB API,发现地址转换相当简单,使用如下地址就搞定了:
http://api.map.baidu.com/geocoder/v2/?ak=qOgzH9SduWmfjSjMoHDMkSQ9tol4Zf9n&location=30.557046,104.071744&output=json&coordtype=gcj02ll
其中location是经纬度,output是返回格式,coordtype就是指定参数坐标系类型,并且结果相当精确。
终于解决了在webview中的定位问题,特此记录。
最近项目上碰到需要在webview中获取当前位置的地方,最开始是通过在h5中使用navigator.geolocation定位的方式,发现在部分安卓手机上获取不了定位的经纬度。
调整了,由IOS或者安卓获取到经纬度,然后放到webview的url中。然后使用百度地图的JS API进行坐标转换获得当前的地址,但是发现总有偏差。
类似这儿的示例:http://developer.baidu.com/map/jsdemo.htm#a5_2
var convertor = new BMap.Convertor(); var pointArr = []; pointArr.push(ggPoint); convertor.translate(pointArr, 1, 5, translateCallback)
最近在测试的时候,发现这个确实个问题,就了解一下定位的经纬度,安卓使用百度定位sdk,返回的是GCJ-02坐标系,查了一下IOS定位坐标,貌似在国内使用的高德地图,也是返回的GCJ-02坐标。
但我在百度地图JS API的文档里面找,没有找到convertor.translate中的参数具体是指什么,在什么地方指定参数是什么坐标系。
最后看了一下WEB API,发现地址转换相当简单,使用如下地址就搞定了:
http://api.map.baidu.com/geocoder/v2/?ak=qOgzH9SduWmfjSjMoHDMkSQ9tol4Zf9n&location=30.557046,104.071744&output=json&coordtype=gcj02ll
其中location是经纬度,output是返回格式,coordtype就是指定参数坐标系类型,并且结果相当精确。
终于解决了在webview中的定位问题,特此记录。
{ status: 0, result: { location: { lng: 104.07823744785, lat: 30.563013004601 }, formatted_address: "四川省成都市武侯区西蜀廊桥", business: "", addressComponent: { adcode: "510107", city: "成都市", country: "中国", direction: "", distance: "", district: "武侯区", province: "四川省", street: "西蜀廊桥", street_number: "", country_code: 0 }, poiRegions: [ ], sematic_description: "成都远方之家连锁公寓新会展店北94米", cityCode: 75 } }
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件