本文使用高德地图借助浏览器的定位功能获取到当前的位置信息。
首先你得去高德地图开放平台申请一个key。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="container"></div>
<script type="text/javascript"
src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值"></script>
<script>
var map = new AMap.Map('container', {
resizeEnable: true
});
AMap.plugin('AMap.Geolocation', function () {
var geolocation = new AMap.Geolocation({
enableHighAccuracy: true,//是否使用高精度定位,默认:true
timeout: 10000, //超过10秒后停止定位,默认:5s
buttonPosition: 'RB', //定位按钮的停靠位置
buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
zoomToAccuracy: true, //定位成功后是否自动调整地图视野到定位点
});
map.addControl(geolocation);
geolocation.getCurrentPosition(function (status, result) {
if (status == 'complete') {
onComplete(result)
console.log(result);
} else {
onError(result)
}
});
});
//解析定位错误信息
function onError(data) {
alert(data.message)
}
function onComplete(obj) {
console.log(obj);
}
</script>
</body>
</head>
</html>
具体详情请参考地图初始IP城市定位
注意:本文若是需要上线,需要使用https域名访问,否则会由于浏览器安全策略禁止网页获取定位信息。