基于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系列(14) 作用域链介绍(Scope Chain)
Apr 12 Javascript
浅谈Javascript事件处理程序的几种方式
Jun 27 Javascript
查找Oracle高消耗语句的方法
Mar 22 Javascript
node.js中的fs.fchown方法使用说明
Dec 16 Javascript
JS中的Replace方法使用经验分享
May 20 Javascript
jquery彩色投票进度条简单实例演示
Jul 23 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
Dec 03 Javascript
如何高效率去掉js数组中的重复项
Apr 12 Javascript
jQuery实现订单提交页发送短信功能前端处理方法
Jul 04 Javascript
Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
Jul 10 Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
Dec 13 Javascript
vue如何通过id从列表页跳转到对应的详情页
May 01 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
全国FM电台频率大全 - 11 浙江省
2020/03/11 无线电
一个简单安全的PHP验证码类、PHP验证码
2016/09/24 PHP
php 访问oracle 存储过程实例详解
2017/01/08 PHP
laravel获取不到session的三种解决办法【推荐】
2018/09/16 PHP
jQuery autocomplete插件修改
2009/04/17 Javascript
jquery验证手机号码、邮箱格式是否正确示例代码
2013/07/28 Javascript
jquery实现图片滚动效果的简单实例
2013/11/23 Javascript
JS实现鼠标经过好友列表中的好友头像时显示资料卡的效果
2014/07/02 Javascript
关于javascript中dataset的问题小结
2015/11/16 Javascript
JS前端加密算法示例
2016/12/22 Javascript
微信小程序 特效菜单抽屉效果实例代码
2017/01/11 Javascript
Vue单文件组件基础模板小结
2017/08/10 Javascript
vue router下的html5 history在iis服务器上的设置方法
2017/10/18 Javascript
在React 组件中使用Echarts的示例代码
2017/11/08 Javascript
js操作二进制数据方法
2018/03/03 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
2018/03/03 Javascript
详解使用vue-admin-template的优化历程
2018/05/20 Javascript
JavaScript仿京东秒杀倒计时
2020/03/17 Javascript
JS正则表达式验证密码强度
2020/03/18 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
2020/03/25 Javascript
Element Card 卡片的具体使用
2020/07/26 Javascript
[04:10]DOTA2英雄梦之声_第11期_圣堂刺客
2014/06/21 DOTA
[07:03]显微镜下的DOTA2第九期——430圣堂刺客杀戮秀
2014/06/20 DOTA
python调用API接口实现登陆短信验证
2020/05/10 Python
python 实现批量图片识别并翻译
2020/11/02 Python
HTML5去掉输入框type为number时的上下箭头的实现方法
2020/01/03 HTML / CSS
三只松鼠官方旗舰店:全网坚果销售第1
2017/11/25 全球购物
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
大学生秋游活动方案
2014/02/17 职场文书
微笑面对生活演讲稿
2014/05/13 职场文书
廉洁自律演讲稿
2014/05/22 职场文书
2014年企业团支部工作总结
2014/12/10 职场文书
寒假安全保证书
2015/02/28 职场文书
公司市场部岗位职责
2015/04/15 职场文书
2016基督教会圣诞节开幕词
2016/03/04 职场文书
mysql分组后合并显示一个字段的多条数据方式
2022/01/22 MySQL