JS获取当前位置信息

1
2
3
4
5
6
7
8
9
10
11
12
13

function getLocation() {
var options = {
enableHighAccuracy : true,
maximumAge : 1000
}
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(onSuccess, onError, options);
} else {
alert('您的浏览器不支持地理位置定位');
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//成功时
function onSuccess(position) {
var longitude = position.coords.longitude;
var latitude = position.coords.latitude;
var map = new BMap.Map("allmap");
var point = new BMap.Point(longitude, latitude);
var gc = new BMap.Geocoder();
gc.getLocation(point, function(rs) {
var addComp = rs.addressComponents;
document.getElementById("aera").innerHTML = addComp.province + ", " + addComp.city + ", "+ addComp.district + ", " + addComp.street + ", "+ addComp.streetNumber;
});
// 这里后面可以写你的后续操作了
// postData(longitude, latitude);
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//失败时
function onError(error) {
switch (error.code) {
case 1:
alert("位置服务被拒绝");
break;
case 2:
alert("暂时获取不到位置信息");
break;
case 3:
alert("获取信息超时");
break;
case 4:
alert("未知错误");
break;
}
// 这里后面可以写你的后续操作了
//经度
var longitude = 23.1823780000;
//纬度
var latitude = 113.4233310000;
postData(longitude, latitude);
}
1
2
3
4
5
// 页面载入时请求获取当前地理位置
window.onload = function(){
// html5获取地理位置
getLocation();
};

引入百度api 调用资源

1
<script src="http://api.map.baidu.com/api?v=1.4" type="text/javascript"></script>