js获取当前坐标

<script type="text/javascript">
var position_option = {enableHighAccuracy: false,maximumAge: 30000,timeout: 20000};
navigator.geolocation.getCurrentPosition(getPositionSuccess, getPositionError, position_option);
function getPositionSuccess( position ){
  var lat = position.coords.latitude;
  var lng = position.coords.longitude;
  setCookie('meal_around_lat',r.point.lat);
  setCookie('meal_around_long',r.point.lng);
}

//存入到cookie
function setCookie(name, value) {
  var Days = 30;
  var exp = new Date();
  exp.setTime(exp.getTime() + 60 * 3600);//过期时间
  document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString();
}
function getPositionError(error) {
  switch (error.code) {
    case error.TIMEOUT:
      alert("连接超时,请重试");
      break;
    case error.PERMISSION_DENIED:
      alert("您拒绝了使用位置共享服务,查询已取消,不能取得数据,请您开启位置共享");
      break;
    case error.POSITION_UNAVAILABLE:
    alert("获取位置信息失败,请您刷新页面重新打开");
    break;
  }
}

</script>

 

////////////微信端///////////

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=6yAoynmTPNlTBa8z1X4LfwGE"></script>
<script type="text/javascript" src="http://developer.baidu.com/map/jsdemo/demo/convertor.js"></script>

$(function(){
  var geolocation = new BMap.Geolocation();
  geolocation.getCurrentPosition(function (r){
    if (this.getStatus() == BMAP_STATUS_SUCCESS) {
      var mk = new BMap.Marker(r.point);
      currentLat = r.point.lat;
      currentLon = r.point.lng;
      console.log(currentLat,currentLon);
    }else{
      alert("定位失败,转至全国!");
    }
  });
})

 

//其它方法..

 navigator.geolocation.getCurrentPosition( // 该函数有如下三个参数
        function(pos){ // 如果成果则执行该回调函数
            lat=pos.coords.latitude;
            lng=pos.coords.longitude;
            // alert(
            //     '  经度:' + pos.coords.latitude +
            //     '  纬度:' + pos.coords.longitude+
            //     '  高度:' + pos.coords.altitude +
            //     '  精确度(经纬):' + pos.coords.accuracy +
            //     '  精确度(高度):' + pos.coords.altitudeAccuracy +
            //     '  速度:' + pos.coords.speed
            // );
        }, function(err){ // 如果失败则执行该回调函数
            alert(err.message);
        }, { // 附带参数
            enableHighAccuracy: false, // 提高精度(耗费资源)
            timeout: 3000, // 超过timeout则调用失败的回调函数
            maximumAge: 1000 // 获取到的地理信息的有效期,超过有效期则重新获取一次位置信息
        }
    );
posted @ 2016-04-28 17:36  MauriceChans  阅读(1967)  评论(0编辑  收藏  举报