H5 gps 获取地址

问题:用户注册的时候,需要根据gps 获取到地址


手机端下  H5 是支持 直接获取gps的,但要求 域名是 https的。
因所以通过 微信网页接口获取到的经纬度,然后转换为百度的坐标,再通过百度jsapi 获取到相应的地址。

wx.getLocation({
            type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02'
            success: function (res) {
                var longitude = res.longitude ;
                var latitude =  res.latitude ;
                wgPoint = new BMap.Point(longitude,latitude)
                var convertor = new BMap.Convertor();
                var pointArr = [];
                pointArr.push(wgPoint);
                convertor.translate(pointArr, 1, 5,function(data){
                    if(data.status === 0) {
                        var geoc = new BMap.Geocoder();
                        var point = new BMap.Point(data.points[0].lng,data.points[0].lat);
                        geoc.getLocation(point, function(result){
                            if (result){
                                $('#areas').val(result.addressComponents.province + " " +result.addressComponents.city+ " "+ result.addressComponents.district);
                                var address = result.addressComponents.street+result.addressComponents.streetNumber+result.addressComponents.streetNumber+result.surroundingPois[0].title;
                                $('#address').val(address);
                            }
                        },{'poiRadius':10});
                    }
                });
            },
            cancel: function (res) {
                FoxUI.toast.show('请点击自动获取您的地址!');
            },
            fail: function (res) {
                FoxUI.toast.show('您需要打开GPS');
            },
        });

转换坐标的时候,需要查看 from  to 对应的值
http://lbsyun.baidu.com/index.php?title=webapi/guide/changeposition
从文档来看 google地图 不是用   WGS-84。我搜索百度,发现很多文档 提示,google 用的是 WGS-84,这是错误的,特此说明。

若文章对您有帮助,帮忙点个赞!

0
-3
发布时间 2020-02-22 00:12:32
0 条回复(回复会通过微信通知作者)
点击加载更多评论
登录 后再进行评论
(微信扫码即可登录,无需注册)