大家好,欢迎来到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