百度地图:通过经纬度获得位置信息和距离

Posted zhuyapeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了百度地图:通过经纬度获得位置信息和距离相关的知识,希望对你有一定的参考价值。

获取位置性息:先通过微信公众号获得经纬度,然后根据经纬度换取位置

<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script>
    <script>
                var signature = @ViewBag.signature;
        //微信
        wx.config(
            debug: false,
            appId: 211,
            timestamp:12 ,
            nonceStr: 121,
            signature: signature,
            jsApiList: [
                getLocation]
        );

        wx.ready(function () 
            wx.getLocation(
                success: function (res) 
                    var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90
                    var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。
                    var speed = res.speed; // 速度,以米/每秒计
                    var accuracy = res.accuracy; // 位置精度
                    getAddress(latitude, longitude);
                , cancel: function (res) 
                    alert(用户拒绝授权获取地理位置);
                ,
                fail: function (res) 
                    alert("获取位置失败");
                
            );
        );
        function getAddress(latitude, longitude) 
            var map = new BMap.Map("allmap");
            var point = new BMap.Point(longitude, latitude);
            var gc = new BMap.Geocoder();
            gc.getLocation(point, function (rs) 
                var addComp = rs.addressComponents;
                var mapAddress = addComp.province + addComp.city + addComp.district
                    + addComp.street + addComp.streetNumber;
                vm.address = mapAddress;
            );
        

计算距离:

/**
     * 计算两点间的距离
     * pt1 lng:"12.34",lat:"3423"第一个点的经纬度
     * pt2 lng:"12.34",lat:"3423"第二个点的经纬度
     * */
    getDistance:function(pt1,pt2)
        var map = new BMap.Map("container");
        var point1 = new BMap.Point(pt1.lng,pt1.lat);
        var point2 = new BMap.Point(pt2.lng,pt2.lat);
        var distance = map.getDistance(point1,point2);
        return distance;
    ,

 

以上是关于百度地图:通过经纬度获得位置信息和距离的主要内容,如果未能解决你的问题,请参考以下文章

如何通过地图API获得任意两个地点的距离

怎么在android百度地图通过经纬度来定位并且显示出地图位置

小程序可以实现地图点选 获取经纬度位置信息功能吗?

android 百度地图 距离怎么转成 经纬度

调取百度地图接口,实现取自己的实时位置,然后可以在百度地图上添加信息标注

百度地图怎样用手机定位