*{ margin: 0px; padding: 0px;}
body{text-align: center; height: 100%;overflow:hidden;}
#allmap{100%;height: 100%; position: absolute;}
alert("你的浏览器支持 GeoLocation.");
}else{
alert("不支持 GeoLocation.")
}//检测浏览器是否支持HTML5
function supportsGeoLocation(){return !!navigator.geolocation;
}//单次位置请求执行的函数
function getLocation(){
navigator.geolocation.getCurrentPosition(mapIt,locationError);
}//定位成功时,执行的函数
function mapIt(position){var lon =position.coords.longitude;var lat =position.coords.latitude;//alert("您位置的经度是:"+lon+" 纬度是:"+lat);
var map = new BMap.Map("allmap");var point = new BMap.Point(""+lon+"",""+lat+"");
map.centerAndZoom(point,19);var gc = newBMap.Geocoder();
translateCallback=function (point){var marker = newBMap.Marker(point);
map.addOverlay(marker);
map.setCenter(point);
gc.getLocation(point, function(rs){var addComp =rs.addressComponents;if(addComp.province!==addComp.city){var sContent =
"
你当前的位置是:
" +"
"+addComp.province + "," + addComp.city + "," + addComp.district + "," + addComp.street + "," + addComp.streetNumber+"
" +"
}else{var sContent =
"
你当前的位置是:
" +"
"+ addComp.city + "," + addComp.district + "," + addComp.street + "," + addComp.streetNumber+"
" +"
}var infoWindow = newBMap.InfoWindow(sContent);
map.openInfoWindow(infoWindow,point);
});
}//gpsPoint:转换前坐标,第二个参数为转换方法,0表示gps坐标转换成百度坐标,callback回调函数,参数为新坐标点
BMap.Convertor.translate(point,0,translateCallback);
}//定位失败时,执行的函数
function locationError(error)
{switch(error.code)
{caseerror.PERMISSION_DENIED:
alert("User denied the request for Geolocation.");break;caseerror.POSITION_UNAVAILABLE:
alert("Location information is unavailable.");break;caseerror.TIMEOUT:
alert("The request to get user location timed out.");break;caseerror.UNKNOWN_ERROR:
alert("An unknown error occurred.");break;
}
}//页面加载时执行getLocation函数
window.onload =getLocation;
})