基于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 相关文章推荐
niceTitle 基于jquery的超链接提示插件
May 31 Javascript
node.js中的fs.lchmodSync方法使用说明
Dec 16 Javascript
JavaScript常用的弹出广告及背投广告实现方法
Feb 06 Javascript
JQuery中Bind()事件用法分析
May 05 Javascript
JavaScript获取当前url根目录(路径)
Jun 17 Javascript
JS实现图片垂直居中显示小结
Dec 13 Javascript
React Native基础入门之调试React Native应用的一小步
Jul 02 Javascript
angularJS自定义directive之带参方法传递详解
Oct 09 Javascript
详解vue服务端渲染浏览器端缓存(keep-alive)
Oct 12 Javascript
小程序从手动埋点到自动埋点的实现方法
Jan 24 Javascript
Vue项目接入Paypal实现示例详解
Jun 04 Javascript
javascript实现移动端轮播图
Dec 09 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基于curl实现随机ip地址抓取内容的方法
2016/10/11 PHP
PHP获取当前系统时间的方法小结
2018/10/03 PHP
jquery获得下拉框值的代码
2011/08/13 Javascript
js 走马灯简单实例
2013/11/21 Javascript
jquery库文件略庞大用纯js替换jquery的方法
2014/08/12 Javascript
js全选实现和判断是否有复选框选中的方法
2015/02/17 Javascript
基于JS实现textarea中获取动态剩余字数的方法
2016/05/25 Javascript
Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
2016/07/10 Javascript
js替换字符串中所有指定的字符(实现代码)
2016/08/17 Javascript
seajs学习教程之基础篇
2016/10/20 Javascript
JS 实现Base64编码与解码实例详解
2016/11/07 Javascript
Base64(二进制)图片编码解析及在各种浏览器的兼容性处理
2017/02/09 Javascript
JS实现直接运行html代码的方法
2017/03/13 Javascript
JS实现简易换图时钟功能分析
2018/01/04 Javascript
使用Vue组件实现一个简单弹窗效果
2018/04/23 Javascript
NodeJS模块与ES6模块系统语法及注意点详解
2019/01/04 NodeJs
vue 项目接口管理的实现
2019/01/17 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
2020/04/13 Javascript
vue3使用vue-count-to组件的实现
2020/12/25 Vue.js
[00:44]2016完美“圣”典 风云人物:Mikasa宣传片
2016/12/07 DOTA
Python使用三种方法实现PCA算法
2017/12/12 Python
快速了解Python相对导入
2018/01/12 Python
使用python3实现操作串口详解
2019/01/01 Python
python实现Pyecharts实现动态地图(Map、Geo)
2020/03/25 Python
解决Jupyter因卸载重装导致的问题修复
2020/04/10 Python
python 中关于pycharm选择运行环境的问题
2020/10/31 Python
俄罗斯运动、健康和美容产品在线商店:Lactomin.ru
2020/07/23 全球购物
Linux中如何用命令创建目录
2015/01/12 面试题
Java面向对象面试题
2016/12/26 面试题
中式餐厅创业计划书范文
2014/01/23 职场文书
学校安全责任书
2014/04/14 职场文书
求职教师自荐书
2014/06/19 职场文书
2014县委书记四风对照检查材料思想汇报
2014/09/21 职场文书
90条交通安全宣传标语
2019/10/12 职场文书
浅析NIO系列之TCP
2021/06/15 Java/Android
教你利用Nginx 服务搭建子域环境提升二维地图加载性能的步骤
2021/09/25 Servers