时间:2021-05-25
利用百度地图API可以做很多事情,个人感觉最核心也是最基础的就是定位功能了。这里分享一个制作的JS可以实现登录网页后定位:
<script type="text/javascript"> var map; var gpsPoint; var baiduPoint; var gpsAddress; var baiduAddress; var x;var y;function getLocation() { //根据IP获取城市 var myCity = new BMap.LocalCity(); myCity.get(getCityByIP); //获取GPS坐标 if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showMap, handleError, { enableHighAccuracy: true, maximumAge: 1000 }); } else { alert("您的浏览器不支持使用HTML 5来获取地理位置服务"); } } function showMap(value) { var longitude = value.coords.longitude; var latitude = value.coords.latitude; map = new BMap.Map("map"); x=latitude;y=longitude;//alert("坐标经度为:" + latitude + ", 纬度为:" + longitude ); gpsPoint = new BMap.Point(longitude, latitude); // 创建点坐标 //根据坐标逆解析地址 var geoc = new BMap.Geocoder(); geoc.getLocation(gpsPoint, getCityByCoordinate); BMap.Convertor.translate(gpsPoint, 0, translateCallback); map.enableScrollWheelZoom(true);} translateCallback = function (point) { baiduPoint = point; map.centerAndZoom(baiduPoint, 18); var geoc = new BMap.Geocoder(); geoc.getLocation(baiduPoint, getCityByBaiduCoordinate); } function getCityByCoordinate(rs) { gpsAddress = rs.addressComponents; var address = "GPS标注:" + gpsAddress.province + "," + gpsAddress.city + "," + gpsAddress.district + "," + gpsAddress.street + "," + gpsAddress.streetNumber; var marker = new BMap.Marker(gpsPoint); // 创建标注 map.addOverlay(marker); // 将标注添加到地图中 var labelgps = new BMap.Label(address, { offset: new BMap.Size(20, -10) }); marker.setLabel(labelgps); //添加GPS标注 } function getCityByBaiduCoordinate(rs) { baiduAddress = rs.addressComponents; var address = "百度标注:" + baiduAddress.province + "," + baiduAddress.city + "," + baiduAddress.district + "," + baiduAddress.street + "," + baiduAddress.streetNumber; var marker = new BMap.Marker(baiduPoint); // 创建标注 map.addOverlay(marker); // 将标注添加到地图中 var labelbaidu = new BMap.Label(address, { offset: new BMap.Size(20, -10) }); marker.setLabel(labelbaidu); //添加百度标注 } //根据IP获取城市 function getCityByIP(rs) { var cityName = rs.name; alert("根据IP定位您所在的城市为:" + cityName); } function handleError(value) { switch (value.code) { case 1: alert("位置服务被拒绝"); break; case 2: alert("暂时获取不到位置信息"); break; case 3: alert("获取信息超时"); break; case 4: alert("未知错误"); break; } } function init() { getLocation(); } window.onload = init; </script>完成定位功能后可以添加相关代码编辑地图控件 覆盖物 信息窗口等等各种功能。
附上百度地图连接:http://lbsyun.baidu.com/
以上这篇利用百度地图API获取当前位置信息的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
百度地图的经纬度放到腾讯地图里面解析地址,导致位置信息显示不正确,所以利用腾讯地图提供的API进行转换。如果没有开发密钥(key),就到腾讯地图官方文档进行申请
用户关注了微信公众号之后,可以回复用户的地理位置(腾讯地图)给公众号,提取位置信息的纬度和经度,转化为百度的纬度和经度。然后根据纬度和经度,调用百度地图的API
Geolocation是HTML5标准下的一个WebAPI,利用它可以获取设备的当前位置信息(坐标),此API具有三个方法:getCurrentPosition
百度地图测海拔的方法是: 1、打开手机,打开百度地图,然后进入到主页面,页面中会显示当前位置的地图。 2、在主页面中找到当前要查海拔的位置,直接点击一下这个
本文给大家分享百度地图api之百度地图退拽标记点获取经纬度的实现方法,具体代码如下所示:body,html,#allmap{width:100%;height: