一,移动端获取:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>locationOfMobile</title>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.4"></script>
<script>
navigator.geolocation.getCurrentPosition( // 该函数有如下三个参数
function(pos){ // 如果成果则执行该回调函数
var location =
' 经度:' + pos.coords.latitude +
' 纬度:' + pos.coords.longitude +
' 高度:' + pos.coords.altitude +
' 精确度(经纬):' + pos.coords.accuracy +
' 精确度(高度):' + pos.coords.altitudeAccuracy +
' 速度:' + pos.coords.speed ;
document.getElementById("location-span").innerHTML = location;
//获取地址
var point = new BMap.Point(pos.coords.longitude,pos.coords.latitude);
var gc = new BMap.Geocoder();
gc.getLocation(point, function(rs){
var addComp = rs.addressComponents;
var address = addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber;
document.getElementById("point-span").innerHTML = "地址:" + address;
});
}, function(err){ // 如果失败则执行该回调函数
var error = err.message;
document.getElementById("location-span").innerHTML = error;
}, { // 附带参数
enableHighAccuracy: false, // 提高精度(耗费资源)
timeout: 3000, // 超过timeout则调用失败的回调函数
maximumAge: 1000 // 获取到的地理信息的有效期,超过有效期则重新获取一次位置信息
}
);
</script>
</head>
<body>
<span id="location-span"></span>
<br>
<span id="point-span"></span>
</body>
二,PC端获取(通过IP地址获取,调用门户网站服务):
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>locationOfPC</title>
<!-- 新浪 -->
<script type="text/javascript" src="http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js" charset="gb2312"></script>
<!-- 搜狐 -->
<script type="text/javascript" src="http://pv.sohu.com/cityjson?ie=utf-8" charset="gb2312"></script>
<script>
window.onload = function(){
//新浪
document.getElementById("sina-span").innerHTML = "sina:"+JSON.stringify(remote_ip_info);
//搜狐
document.getElementById("sohu-span").innerHTML = "sohu:"+JSON.stringify(returnCitySN);
};
</script>
</head>
<body>
<span id="userna"></span>
<span id="sina-span">1</span>
<br>
<span id="sohu-span">2</span>
</body>