基于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 相关文章推荐
javascript replace方法与正则表达式
Feb 19 Javascript
自动完成JS类(纯JS, Ajax模式)
Mar 12 Javascript
JavaScript 联动的无限级封装类,数据采用非Ajax方式,随意添加联动
Jun 29 Javascript
面向对象继承实例(a如何继承b问题)(自写)
Jul 01 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
Jul 08 Javascript
ExtJS中设置下拉列表框不可编辑的方法
May 07 Javascript
浅析JavaScript中浏览器的兼容问题
Apr 19 Javascript
SelecT下拉框选中和取值的解决方法
Nov 22 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
Apr 10 jQuery
vue ssr 指南详读
Jun 29 Javascript
关于Vue组件库开发详析
Jul 01 Javascript
vue操作动画的记录animate.css实例代码
Apr 26 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
php smarty 二级分类代码和模版循环例子
2011/06/01 PHP
php学习笔记之面向对象编程
2012/12/29 PHP
php中spl_autoload详解
2014/10/17 PHP
php入门教程之Zend Studio设置与开发实例
2016/09/09 PHP
WAF的正确bypass
2017/01/05 PHP
Laravel如何自定义command命令浅析
2019/03/23 PHP
Laravel框架Auth用户认证操作实例分析
2019/09/29 PHP
jQuery技巧大放送 学习jquery的朋友可以看下
2009/10/14 Javascript
JS焦点图切换,上下翻转
2011/05/12 Javascript
jQuery数组处理方法汇总
2011/06/20 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
Firefox中通过JavaScript复制数据到剪贴板(Copy to Clipboard 跨浏览器版)
2013/11/22 Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
2015/05/09 Javascript
浅谈javascript的Touch事件
2015/09/27 Javascript
通过隐藏iframe实现无刷新上传文件操作
2016/03/16 Javascript
全面解析Bootstrap中scrollspy(滚动监听)的使用方法
2016/06/06 Javascript
JQuery和html+css实现带小圆点和左右按钮的轮播图实例
2017/07/22 jQuery
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
js实现多个倒计时并行 js拼团倒计时
2019/02/25 Javascript
vue中如何实现后台管理系统的权限控制的方法步骤
2019/09/05 Javascript
jquery 键盘事件 keypress() keydown() keyup()用法总结
2019/10/23 jQuery
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
node脚手架搭建服务器实现token验证的方法
2021/01/20 Javascript
python基于C/S模式实现聊天室功能
2019/01/09 Python
python os.path.isfile 的使用误区详解
2019/11/29 Python
Python使用monkey.patch_all()解决协程阻塞问题
2020/04/15 Python
Django+RestFramework API接口及接口文档并返回json数据操作
2020/07/12 Python
Interrail法国:乘火车探索欧洲,最受欢迎的欧洲铁路通票
2019/08/27 全球购物
会计职业生涯规划范文
2014/01/04 职场文书
电子商务网站的创业计划书
2014/01/05 职场文书
户籍证明的格式
2014/01/13 职场文书
工程技术负责人岗位职责
2015/04/13 职场文书
消防隐患整改通知书
2015/04/22 职场文书
Typescript类型系统FLOW静态检查基本规范
2022/05/25 Javascript