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获取
  • js如何获取指定网址中的参数

    之前我的站长站分享的都是用JS获取当前网址URL中的参数,我们这次教大家如何获取指定网址中的参数。js获取网址参数代码JS获取网址的方法都一样,我们同样使用函数的方法。function getQueryParam(url, param) {// 创建一个新的URL对象const urlObj = ne...

    js教程 6 1个月前
  • JavaScript如何获取自己的加载路径

    我们都知道JavaScript获取当前路径的方法用:var currentFullPath = window.location.href;console.log(currentFullPath);这样就可以获取完整路径。今天我的站长站分享不是获取当前URL路径,而且获取JS自己本身的加载路径,比如获取:<script src="https://...

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

    js获取字符长度函数function objLen(str) { if (str == null) return 0; if (typeof str != "string") { str += ""; } return str.replace(/[^\x00-\xff]/g, "01").length;}函数使用方法var arr1 = &#39;ABCD1234&#39;console.log(objLen(...

    js教程 13 10个月前
最新更新
  • js返回上一页、刷新页面代码大全

    返回上一页代码:<a href="javascript:history.go(-1)">返回上一页</a>onclick返回上一页代码:<a href="javasc...

    js教程 2天前
  • js语言!=与!==的区别

    != (不等于)!= 是松散的不等于运算符。它在比较两个值时,会先进行类型转换(type coercion),然后再比较值是否不...

    js教程 6天前
  • JS防止网站被扒的解决方法

    这个代码能够直接保护整个站,而不再是单个页面,直接把代码放到自己的网站上,如果是博客建议放到header.php头部...

    js教程 3周前
  • Hexo插件开发实战教程

    Hexo的插件嵌入有两种方式,一种是通过脚本(Scripts)的方式引入,一种是通过插件(Packages)的方式将自定义的插件内...

    js教程 1个月前
  • JavaScript定时删除指定元素方法

    JavaScript定时删除指定元素一般用到自动隐藏的效果功能上面,主要用到了JS的setTimeout语法。下面是一个定时...

    js教程 1个月前