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 // 获取到的地理信息的有效期,超过有效期则重新获取一次位置信息
}
);