js教程

获取百度地图用户当前位置

我的站长站 2020-08-31 人阅读

大家在开发web网页的时候有没有遇到需要定位用户位置的情况呢?是使用IP来定位还是使用html5的特性定位呢?或者是使用百度地图,腾讯地图等第三方平台来实现定位呢?下面是我使用百度地图提供的js支持获取用户当前位置的示例,这种方式可以得到用户的经纬度或者位置名称,个人觉得挺好用的。

百度地图定位

首先你需要先去百度地图申请接口使用权限,通过后可以拿到你的授权ak,然后就可以通过如下形式的JavaScript将百度地图定位js引入你的网页了。

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的ak授权"></script>

然后还需要在百度地图后台设置运行使用定位的服务器白名单,否则是无法定位的。

然后使用如下js代码获取用户当前经纬度:

var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){                alert("坐标:"+r.point.lng+":"+ r.point.lat);
}
else {
alert('定位失败'+this.getStatus());
}        
},{enableHighAccuracy: true})

想要获取用户的地址名称,需要在取得经纬度的情况下,使用getLocation方法,代码如下:

var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){
var mk = new BMap.Marker(r.point);
// 创建地理编码实例      
var myGeo = new BMap.Geocoder();      
// 根据坐标得到地址描述    
myGeo.getLocation(new BMap.Point(r.point.lng, r.point.lat), function(result){      
if (result){      
alert(result.address);      
}      
});
}
else {
alert('定位失败'+this.getStatus());
}        
},{enableHighAccuracy: true})

百度地图提供了很多接口,比如将地址名称转换为经纬度等,我这里没用到,就不多讲了,有需要的自己看看官方的api文档吧。

最新更新
  • js截取字符串教程

    slice()方法接受两个参数,起始索引和结束索引(可选)。它返回从起始索引到结束索引(不包括结束索引)之间的子字符...

    js教程 3个月前
  • find findIndex indexOf索引选择器使用方法

    find使用方法find方法是ES6引入的一种数组方法,可以用来查找数组中符合条件的元素。语法是:array.find(callba...

    js教程 3个月前
  • js复制网页内容教程

    Async Clipboard API方法HTML5新增的方法,无需引入第三方插件,直接就可以复制内容。低版本的浏览器可能会不兼...

    js教程 3个月前
  • js获取字符长度函数分享

    js获取字符长度函数function objLen(str) { if (str == null) return 0; if (typeof str != "string") { ...

    js教程 3个月前
  • 网站LED跑马灯效果广告代码

    网站可以看到很多的论坛网站都会用到这种网站LED跑马灯效果,这种效果实现也很简单,分享给大家。LED跑马灯效果...

    js教程 4个月前