ApiClound 百度地图解析地址geolocation 定位不够精确 的问题:

百度地图 API定位:


博主发现 geolocation 定位很不精确 于是通过API找到以下解决办法:

//首先 获取到 bMap 模块(这个为apiClound的模块) 获取到定位信息 然后设置精确度 。 再根据ip ,新建地址解析器,获取到精确的地址街道信息:

api.require('bMap').getLocation({
            accuracy: '5m',
            autoStop: true,
            filter: 1
        }, function(ret, err) {
            if(ret.status){
                var markerMyPositionIcon = new bmap.Icon("../../../icon/userMarker.png", new bmap.Size(18,32));
                var mk = new bmap.Marker(new bmap.Point(ret.lon,ret.lat),{icon:markerMyPositionIcon});
                map.addOverlay(mk);
                map.panTo(ret);
                userInfo.longitude = ret.lon;
                userInfo.latitude = ret.lat;
                map.centerAndZoom(new bmap.Point(userInfo.longitude,userInfo.latitude),15); //定位到用户当前地点

                //地址解析器:  解决  geolocation 定位不精确的问题
                new BMap.Geocoder().getLocation(new bmap.Point(ret.lon,ret.lat),function (result,error) {
                    if(result){
                        document.getElementById("titleLocation").innerHTML = "中国" + result.address;
                    }
                },{poiRadius:5,numPois:1});
            }else {
                alert("获取定位失败");
            }
        });

你可能感兴趣的:([ApiClound])