基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)


Posted in Javascript onDecember 29, 2015

废话不多说了,直接给大家贴js代码了。具体代码如下所示:

function Location(){};
Location.prototype.getLocation = function(callback){
  var options = {
    enableHighAccuracy: true,
    maximumAge: 1000
  };
  this.callback = Object.prototype.toString.call(callback) =="[object Function]" ?
    callback : 
    function(address){
      alert(address.province + address.city);
      console.log("getocation(callbackFunction) 可获得定位信息对象");
    };
  var self = this;
  if (navigator.geolocation) {
    //浏览器支持geolocation
    navigator.geolocation.getCurrentPosition(function(position){
      //经度
      var longitude = position.coords.longitude;
      //纬度
      var latitude = position.coords.latitude;
      self.loadMapApi(longitude,latitude);
    }, self.onError, options);
  } else {
    //浏览器不支持geolocation
  }
};
Location.prototype.loadMapApi = function(longitude, latitude){
  var self = this;
  var oHead = document.getElementsByTagName('HEAD').item(0);
  var oScript= document.createElement("script");
  oScript.type = "text/javascript";
  oScript.src="http://api.map.baidu.com/getscript?v=2.0&ak=A396783ee700cfdb9ba1df281ce36862&services=&t=20140930184510";
  oHead.appendChild(oScript);
  oScript.onload = function(date){
    var point = new BMap.Point(longitude, latitude);
    var gc = new BMap.Geocoder();
    gc.getLocation(point, function(rs) {
      var addComp = rs.addressComponents;
      self.callback(addComp);
    });
  }
};
Location.prototype.onError = function(error) {
  switch (error.code) {
    case 1:
      alert("位置服务被拒绝");
      break;
    case 2:
      alert("暂时获取不到位置信息");
      break;
    case 3:
      alert("获取信息超时");
      break;
    case 4:
      alert("未知错误");
      break;
  }
};
//调用
var local = new Location();
local.getLocation(function(res){
  //此处就是返回的地理位置信息
  console.log(res);
})

以上内容是小逼给大家介绍的基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号),希望大家喜欢。

Javascript 相关文章推荐
如何在标题栏显示框架内页面的标题
Feb 03 Javascript
img的onload的另类用法
Jan 10 Javascript
js滚动条回到顶部的代码
Dec 06 Javascript
防止xss和sql注入:JS特殊字符过滤正则
Apr 18 Javascript
JS 毫秒转时间示例代码
Sep 22 Javascript
jquery简单图片切换显示效果实现方法
Jan 14 Javascript
解决vue-cli webpack打包后加载资源的路径问题
Sep 25 Javascript
JavaScript中的 new 命令
May 22 Javascript
vue 翻页组件vue-flip-page效果
Feb 05 Javascript
node.js使用yargs处理命令行参数操作示例
Feb 11 Javascript
Javascript摸拟自由落体与上抛运动原理与实现方法详解
Apr 08 Javascript
了不起的11个JavaScript代码重构最佳实践小结
Jan 11 Javascript
jQuery中attr()与prop()函数用法实例详解(附用法区别)
Dec 29 #Javascript
使用OpenLayers3 添加地图鼠标右键菜单
Dec 29 #Javascript
javascript实现下拉提示选择框
Dec 29 #Javascript
基于JavaScript如何实现ajax调用后台定义的方法
Dec 29 #Javascript
js+css简单实现网页换肤效果
Dec 29 #Javascript
Jquery使用小技巧汇总
Dec 29 #Javascript
js为什么不能正确处理小数运算?
Dec 29 #Javascript
You might like
海河写的 Discuz论坛帖子调用js的php代码
2007/08/23 PHP
PHP下打开URL地址的几种方法小结
2010/05/16 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
文件上传之SWFUpload插件(代码)
2015/07/30 PHP
ThinkPHP在Cli模式下使用模板引擎的方法
2015/09/25 PHP
基于PHP技术开发客服工单系统
2016/01/06 PHP
PJBlog插件 防刷新的在线播放器
2006/10/25 Javascript
一个js封装的不错的选项卡效果代码
2008/02/15 Javascript
判断JavaScript对象是否可用的最正确方法分析
2008/10/03 Javascript
Javascript 读书笔记索引贴
2010/01/11 Javascript
原生js实现fadein 和 fadeout淡入淡出效果
2014/06/05 Javascript
PHP守护进程实例
2015/03/06 Javascript
JavaScript实现常用二级省市级联下拉列表的方法
2015/03/25 Javascript
JQuery实现的图文自动轮播效果插件
2015/06/19 Javascript
JavaScript对Cookie进行读写操作实例
2015/07/25 Javascript
AngularJS动态绑定HTML的方法分析
2016/11/07 Javascript
JavaScript实现二维坐标点排序效果
2017/07/18 Javascript
bootstrap modal+gridview实现弹出框效果
2017/08/15 Javascript
vue项目中jsonp跨域获取qq音乐首页推荐问题
2018/05/30 Javascript
vue同步父子组件和异步父子组件的生命周期顺序问题
2018/10/07 Javascript
JS+css3实现幻灯片轮播图
2020/08/14 Javascript
快速入手Python字符编码
2016/08/03 Python
Python中的is和==比较两个对象的两种方法
2017/09/06 Python
Python数据分析之获取双色球历史信息的方法示例
2018/02/03 Python
python 剪切移动文件的实现代码
2018/08/02 Python
详解用Python练习画个美队盾牌
2019/03/23 Python
5款Python程序员高频使用开发工具推荐
2019/04/10 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
python属于解释语言吗
2020/06/11 Python
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
中科前程Java笔试题
2016/11/20 面试题
工商管理专业实习生自我鉴定
2013/09/29 职场文书
护理见习报告范文
2014/11/03 职场文书
民政局未婚证明
2015/06/15 职场文书
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js