本文實例為大家分享了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>以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答