
test.html
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>  
<script >
if (navigator.geolocation) {  
	console.log('Geolocation is supported!');
	// var startPos;
	var geoSuccess = function(position) {
		startPos = position;
		// console.log('startPos.'+ startPos.coords.latitude + " " + startPos.coords.longitude);
	};
	navigator.geolocation.getCurrentPosition(geoSuccess);
} else {  
	alert("浏览器不支持地理定位。");  
} 
</script>
 
 
testClose.html
<script src="//maps.google.com/maps/api/js?sensor=false"></script>
<script >
    _callback = false;
    function successCallback(position) {
        _callback = true;
        // startPos = position;
        // console.log('startPos.'+ startPos.coords.latitude + " " + startPos.coords.longitude);
        console.log('success' + position);
    }
    // 如果取消位置確認,相當於離開。
    function errorCallback(error) {
        callback = true;
        console.log('error' + error);
        webClose();
    }
    setTimeout(function(){if(!_callback)console.log('ignored')}, 20000);
    if (navigator.geolocation) {  
	    console.log('Geolocation is supported!');
        navigator.geolocation.getCurrentPosition(
                successCallback,
                errorCallback,
                {timeout: 2000}
        );
    } else {  
	    alert("浏览器不支持地理定位。");
        // 如果取消位置確認,相當於離開。
        webClose();
    } 
    function webClose() {
        $('.your-tip').show();
        $('.your-wrapper').hide();
        $('#your-dialog').hide();
        $('#your-sth').hide();
    }
</script> 
  
testShow.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>浏览器地理位置信息api测试</title>
<style>
html,body,#gmap{height:100%; margin:0;}
body{font-size:83%;}
#help{padding-top:20%; text-align:center;}
</style>
</head>
<body>
<div id="gmap"></div>
<script src="//maps.google.com/maps/api/js?sensor=false"></script>
<script>
var eleGmap = document.getElementById("gmap");
var showMap = function(position) {
	//经纬度
    var pos = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
	//地图参数
	var options = {
		zoom: 10,
		center: pos,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	};
	//地图
	var map = new google.maps.Map(eleGmap, options);
	//地图浮动提示
	var marker = new google.maps.Marker({
		position: pos,
		map: map,
		title: "用户位置"
	});
	//提示内容
	var contentString = "<b>时间戳:</b> " + parseTimestamp(position.timestamp) + "<br/><b>用户位置:</b> 纬度 " + position.coords.latitude + ", 经度 " + position.coords.longitude + ", 精确度 " + position.coords.accuracy;
	var infowindow = new google.maps.InfoWindow({
		content: contentString
	});
	//提示事件绑定
	google.maps.event.addListener(marker, 'click', function() {
		infowindow.open(map,marker);
	});
};
//时间戳获取与处理
var parseTimestamp = function(timestamp) {
	var d = new Date(timestamp);
	var day = d.getDate();
	var month = d.getMonth() + 1;
	var year = d.getFullYear();
	var hour = d.getHours();
	var mins = d.getMinutes();
	var secs = d.getSeconds();
	var msec = d.getMilliseconds();
	return year + "年" + month +"月"+ day +"日 "+ hour + ":" + mins + ":" + secs + ", " + msec;
};
if (navigator.geolocation) {
	eleGmap.innerHTML = '<div id="help"><img src="loading_blue_s.gif" /><p>如果长时间加载不出来,可能因为没有ApiKeys!</p></div>';
    //一次性获取位置的请求
    navigator.geolocation.getCurrentPosition(showMap);
} else {
	eleGmap.innerHTML = '<div id="help">您的浏览器不支持地理位置 O(∩_∩)O~</div>';
}
</script>
</body>
</html> 
 
本代码需要结合google地图的后台配置使用。在实际运用时,需要将js?sensor=false替换为js?key=yourKey
 先运行test.html,点允许授权后,才可以访问testShow.html。
 testClose.html,是模拟点击禁用后,进行的操作。禁用地图则不允许使用功能。
  



















