当前位置: 移动技术网 > IT编程>开发语言>JavaScript > JS获取当前地理位置的方法

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

2017年12月12日  | 移动技术网IT编程  | 我要评论

本文实例为大家分享了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>

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网