几种获取当前地理位置信息的方法

几种获取当前地理位置信息的方法1.html5自带获取当前地理位置信息2.腾讯地图获取当前地理位置信息3.火星坐标转百度坐标需引用百度地图js4.百度地图获取当前位置信息并导航到目标点

大家好,欢迎来到IT知识分享网。几种获取当前地理位置信息的方法"

1.html5 自带获取当前地理位置信息

   //获取当前经纬度 IOS 10 获取定位信息只支持https 请求所以以下方法不适用
        //    navigator.geolocation.getCurrentPosition( // 该函数有如下三个参数
        //   function (pos) { // 如果成果则执行该回调函数
        //       la = pos.coords.longitude;
        //       lg = pos.coords.latitude;
        //       console.log(pos.coords.longitude);
        //       console.log(pos.coords.latitude);
        //       //alert(
        //       //    '  经度:' + pos.coords.latitude +
        //       //    '  纬度:' + pos.coords.longitude +
        //       //    '  高度:' + pos.coords.altitude +
        //       //    '  精确度(经纬):' + pos.coords.accuracy +
        //       //    '  精确度(高度):' + pos.coords.altitudeAccuracy +
        //       //    '  速度:' + pos.coords.speed
        //       //);
        //   }, function (err) { // 如果失败则执行该回调函数
        //       alert(err.message);
        //   }, { // 附带参数
        //       enableHighAccuracy: true, // 提高精度(耗费资源)
        //       timeout: 5000, // 超过timeout则调用失败的回调函数
        //       maximumAge: 1000 // 获取到的地理信息的有效期,超过有效期则重新获取一次位置信息
        //   });

2.腾讯地图获取当前地理位置信息

 //填入自己在腾讯地图开放平台申请的KEY
        var geolocation = new qq.maps.Geolocation("    JU6BZ-AY2R5-JF5IN-QJAVP-CSM6H-AKFNP", "MyMap");
        var options = { timeout: 8000 };
        geolocation.getLocation(sucCallback, errCallback, options);
        //成功的回调 返回的是火星坐标
        function sucCallback(position) {
            var mapInfo = JSON.stringify(position, null, 4);
            var jsonMapInfo = eval('(' + mapInfo + ')');
            success(jsonMapInfo.lng, jsonMapInfo.lat);
        }
        //失败的回调
        function errCallback() {
            geolocation.getLocation(sucCallback, errCallback, options);
        }
        //业务逻辑
        function success(la, lg) {
            //拿到经纬度的业务逻辑...
        }

3.火星坐标转百度坐标需引用百度地图js

//jsonMapInfo 为要转换的点
   var gpsPoint = new BMap.Point(jsonMapInfo.lng, jsonMapInfo.lat);
            console.log("转换之前的点" + gpsPoint.lat +","+gpsPoint.lng);
            BMap.Convertor.translate(gpsPoint, 2, function (point) {
                console.log("转换之后的点" + point.lat + "," + point.lng);
            })

4.百度地图获取当前位置信息并导航到目标点

    var geolocation = new BMap.Geolocation();
        //获取当前位置信息
        geolocation.getCurrentPosition(function (r) {
            if (this.getStatus() == BMAP_STATUS_SUCCESS) {
                console.log('您的位置:' + r.point.lng + ',' + r.point.lat);
                var map = new BMap.Map("l-map");    // 创建Map实例
                map.centerAndZoom(new BMap.Point(r.point.lng, r.point.lat), 13);  // 初始化地图,设置中心点坐标和地图级别
                map.setCurrentCity("深圳");          // 设置地图显示的城市 此项是必须设置的
                map.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放
                //var driving = new BMap.DrivingRoute(map, { renderOptions: { map: map, panel: "r-result", autoViewport: true } });
                //driving.search("中关村一街", "魏公村");
                var transit = new BMap.TransitRoute(map, {
                    onResultsHtmlSet: function () { $("#r-result").show() },
                    policy: 0,
                    renderOptions: { map: map, panel: "r-result" }
                });
                //起点位置
                var start = new BMap.Point(r.point.lng, r.point.lat);
                //需要导航的地址
                var end = new BMap.Point(GetRequest().la, GetRequest().lg);
                console.log(start);
                console.log(end);
                transit.search(start, end, BMAP_TRANSIT_POLICY_LEAST_TIME);//最少时间
                //var routePolicy = [BMAP_TRANSIT_POLICY_LEAST_TIME, BMAP_TRANSIT_POLICY_LEAST_TRANSFER, BMAP_TRANSIT_POLICY_LEAST_WALKING, BMAP_TRANSIT_POLICY_AVOID_SUBWAYS]; //0最少时间 1 最少换乘 2 最少步行 3 不乘地铁
            }
            else {
                alert('failed' + this.getStatus());
            }
        }, { enableHighAccuracy: true })

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/34420.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信