微信企业号开发:微信考勤百度地图定位二

 使用微信考勤百度地图定位中的方法定位,可以定位到一个具体的位置某省某市某区某路某号,总是让人感觉显示不是很友好,如果直接显示,软件园,科技园之类的是不是更好呢?于是查了一下百度地图的相关文档,其实也很简单。百度有附近的功能,还有地址解析的功能,都可以实现。

例如我就是用了Geocoder服务,实现了需要的效果。

核心代码:

 var map = new BMap.Map("allmap");
    var circle = new BMap.Geolocation();
    circle.getCurrentPosition(locationResult); //
    map.addOverlay(circle);
    var tempGeocoder = new BMap.Geocoder(); 
    function locationResult(geolocationResult) {
        var Status = this.getStatus()
        if (Status == 0)//检索成功。对应数值“0”。
        {
            $("#lng").val(geolocationResult.point.lng);
            $("#lat").val(geolocationResult.point.lat);
            var address = geolocationResult.address;
            $("#city").val(address.city);
            $("#district").val(address.district);
            $("#street").val(address.street);
            var text = "";
            if (address.province != address.city)
            {
                text += address.province;
            }
            text += address.city + address.district + address.street + address.street_number;
            tempGeocoder.getLocation(geolocationResult.point, locationResultcallback, { poiRadius: 500, numPois: 5 }); //           
            $("#province").val(address.province);
            $("#address").val(text);

        }
        else {
            alert("定位失败错误码" + Status)
        }
    }
    function locationResultcallback(GeocoderResult) {
       
        var yyy = GeocoderResult.surroundingPois;
        if (GeocoderResult.surroundingPois.length > 0) {
            var address2 = GeocoderResult.surroundingPois[0].title;
            if (address2) {
                var text = "";
                var province = $("#province").val();
                var city = $("#city").val();
                if (province != city) {
                    text += province;
                }
                text += city;
                $("#address").val(text + address2);
            }
        }
    }

实现效果:


这样总比显示陕西省西安市雁塔区西三环好好的多吧。


  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值