一、引入相关js
二、js代码
// 单次位置请求执行的函数
function getLocation(){
navigator.geolocation.getCurrentPosition(mapIt,locationError);
}
// 检测浏览器是否支持HTML5
function supportsGeoLocation(){
return !!navigator.geolocation;
}
if (!supportsGeoLocation()) {
alert("您的浏览器不支持定位,系统将自动推送最新的文章列表");
}else{
getLocation();// 定位
}
//定位成功时,执行的函数
function mapIt(position){
var longitude = position.coords.longitude;
var latitude = position.coords.latitude;
alert("您位置的经度是:"+longitude+" 纬度是:"+latitude);
var map = new BMap.Map("allmap");
var point = new BMap.Point(""+longitude+"",""+latitude+"");
map.centerAndZoom(point,19);
var gc = new BMap.Geocoder();
translateCallback = function (point){
var marker = new BMap.Marker(point);
map.addOverlay(marker);
map.setCenter(point);
gc.getLocation(point, function(rs){
var addComp = rs.addressComponents;
alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber)
});
}
BMap.Convertor.translate(point,0,translateCallback);
}
// 定位失败时,执行的函数
function locationError(error)
{
switch(error.code)
{
case error.PERMISSION_DENIED:
alert("User denied the request for Geolocation.");
break;
case error.POSITION_UNAVAILABLE:
alert("Location information is unavailable.");
break;
case error.TIMEOUT:
alert("The request to get user location timed out.");
break;
case error.UNKNOWN_ERROR:
alert("An unknown error occurred.");
break;
}
}
html5经纬度定位 源码_利用HTML5定位功能获取经纬度 在根据经纬度利用百度地图获取位置信息...