基于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 相关文章推荐
JS实现打开本地文件或文件夹
Mar 09 Javascript
一个很简单的办法实现TD的加亮效果.
Jun 29 Javascript
JavaScript高级程序设计 读书笔记之九 本地对象Array
Feb 27 Javascript
HTML5之lang属性与dir属性的详解
Jun 19 Javascript
JavaScript Promise启示录
Aug 12 Javascript
javascript实现可键盘控制的抽奖系统
Mar 10 Javascript
jquery.validate使用详解
Jun 02 Javascript
jquery+Jscex打造游戏力度条
Sep 12 Javascript
jQuery获取复选框选中的当前行的某个字段的值
Sep 15 jQuery
WebPack配置vue多页面的技巧
May 15 Javascript
vuejs前后端数据交互之从后端请求数据的实例
Aug 11 Javascript
vue element table 表格请求后台排序的方法
Sep 28 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求正负数数组中连续元素最大值示例
2014/04/11 PHP
从PHP的源码中深入了解stdClass类
2014/04/18 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
PHP中模拟处理HTTP PUT请求的例子
2014/07/22 PHP
PHP中unset,array_splice删除数组中元素的区别
2014/07/28 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
JavaScript入门之事件、cookie、定时等
2011/10/21 Javascript
jQuery版仿Path菜单效果
2011/12/15 Javascript
js仿百度有啊通栏展示效果实现代码
2013/05/28 Javascript
经过绑定元素时会多次触发mouseover和mouseout事件
2014/02/28 Javascript
javascript弹出拖动窗口
2015/08/11 Javascript
js带点自动图片轮播幻灯片特效代码分享
2015/09/07 Javascript
Javascript获取随机数的实现方法
2016/06/22 Javascript
在 Node.js 中使用原生 ES 模块方法解析
2017/09/19 Javascript
详解用Node.js实现Restful风格webservice
2017/09/29 Javascript
详解JS模块导入导出
2017/12/20 Javascript
深入理解requireJS-实现一个简单的模块加载器
2018/01/15 Javascript
解决vue-cli项目webpack打包后iconfont文件路径的问题
2018/09/01 Javascript
vue计算属性computed的使用方法示例
2019/03/13 Javascript
详解Angular cli配置过程记录
2019/11/07 Javascript
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
[02:03]风行者至宝清风环佩外观展示
2020/09/05 DOTA
用Python写的图片蜘蛛人代码
2012/08/27 Python
web.py获取上传文件名的正确方法
2014/08/26 Python
Python中使用select模块实现非阻塞的IO
2015/02/03 Python
python中常用的九种预处理方法分享
2016/09/11 Python
Go/Python/Erlang编程语言对比分析及示例代码
2018/04/23 Python
python爬虫之urllib库常用方法用法总结大全
2018/11/14 Python
python抓取需要扫微信登陆页面
2019/04/29 Python
Python无头爬虫下载文件的实现
2020/04/02 Python
Vince官网:全球著名设计师品牌,休闲而优雅的服饰
2017/01/15 全球购物
澳大利亚汽车零部件、音响及配件超市:Automotive Superstore
2018/06/19 全球购物
公司离职证明范本
2014/01/13 职场文书
大学英语演讲稿(中英文对照)
2014/01/14 职场文书
自信主题班会
2015/08/14 职场文书
利用Python脚本写端口扫描器socket,python-nmap
2022/07/23 Python