首页 > 编程 > JavaScript > 正文

JS获取当前地理位置的方法

2019-11-19 15:05:06
字体:
来源:转载
供稿:网友

本文实例为大家分享了JS获取当前地理位置方法的具体代码,供大家参考,具体内容如下

1.手机定位

var getLocation = function (successFunc, errorFunc) {   //successFunc获取定位成功回调函数,errorFunc获取定位失败回调  //首先设置默认城市  var defCity = {    id: '000001',    name: '北京市',    date: curDateTime()//获取当前时间方法  };  //默认城市  $.cookie('VPIAO_MOBILE_DEFAULTCITY', JSON.stringify(defCity), { expires: 1, path: '/' });  if (navigator.geolocation) {    navigator.geolocation.getCurrentPosition(function (position) {      var lat = position.coords.latitude;      var lon = position.coords.longitude;      //var map = new BMap.Map("container");  // 创建Map实例      var point = new BMap.Point(lon, lat); // 创建点坐标      var gc = new BMap.Geocoder();      gc.getLocation(point, function (rs) {        var addComp = rs.addressComponents;        var curCity = {          id: '',          name: addComp.province,          date: curDateTime()        };        //当前定位城市        $.cookie('VPIAO_MOBILE_CURRENTCITY', JSON.stringify(curCity), { expires: 7, path: '/' });        //alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street);        if (successFunc != undefined)          successFunc(addComp);      });    },    function (error) {      switch (error.code) {        case 1:          alert("位置服务被拒绝。");          break;        case 2:          alert("暂时获取不到位置信息。");          break;        case 3:          alert("获取位置信息超时。");          break;        default:          alert("未知错误。");          break;      }      var curCity = {        id: '000001',        name: '北京市',        date: curDateTime()      };      //默认城市      $.cookie('VPIAO_MOBILE_DEFAULTCITY', JSON.stringify(curCity), { expires: 1, path: '/' });      if (errorFunc != undefined)        errorFunc(error);    }, { timeout: 5000, enableHighAccuracy: true });  } else {    alert("你的浏览器不支持获取地理位置信息。");    if (errorFunc != undefined)      errorFunc("你的浏览器不支持获取地理位置信息。");  }};var showPosition = function (position) {  var lat = position.coords.latitude;  var lon = position.coords.longitude;  //var map = new BMap.Map("container");  // 创建Map实例  var point = new BMap.Point(lon, lat); // 创建点坐标  var gc = new BMap.Geocoder();  gc.getLocation(point, function (rs) {    var addComp = rs.addressComponents;    var curCity = {      id: '',      name: addComp.province,      date: curDateTime()    };    //当前定位城市    $.cookie('VPIAO_MOBILE_CURRENTCITY', JSON.stringify(curCity), { expires: 7, path: '/' });    //alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street);  });};var showPositionError = function (error) {  switch (error.code) {    case 1:      alert("位置服务被拒绝。");      break;    case 2:      alert("暂时获取不到位置信息。");      break;    case 3:      alert("获取位置信息超时。");      break;    default:      alert("未知错误。");      break;  }  var curCity = {    id: '000001',    name: '北京市',    date: curDateTime()  };  //默认城市  $.cookie('VPIAO_MOBILE_DEFAULTCITY', JSON.stringify(curCity), { expires: 1, path: '/' });};

前提要引入百度API: <script src="http://api.map.baidu.com/api?v=1.4" type="text/javascript"></script>

2.获取客户端IP方法

<script>var url = 'http://chaxun.1616.net/s.php?type=ip&output=json&callback=?&_=' + Math.random();      $.getJSON(url, function(data) {        alert(data.Ip);      });</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表