1.第一步创建应用和KEY
2.撸代码
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
<title>浏览器精确定位</title>
<link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css"/>
<style>
html, body, #container {
height: 100%;
}
.info {
width: 26rem;
}
</style>
<body>
<div id='container'></div>
<div class="info">
<h4 id='status'></h4>
<hr>
<p id='result'></p>
<hr>
<p>由于众多浏览器已不再支持非安全域的定位请求,为保位成功率和精度,请升级您的站点到HTTPS。</p>
</div>
<script type="text/javascript">
//秘钥是配置必须在jsapi脚本加载之前设置,否则无效
window._AMapSecurityConfig = {
securityJsCode: '秘钥', //秘钥
}
</script>
<script type="text/javascript"
src="https://webapi.amap.com/maps?v=1.4.15&key=申请的key值&plugin=AMap.CitySearch"></script>
<script type="text/javascript">
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)
} else {
onError(result)
}
});
});
//解析定位结果
function onComplete(data) {
document.getElementById('status').innerHTML = '定位成功'
var dizhi = data.addressComponent.province +'-'+ data.addressComponent.city +'-'+ data.addressComponent.district
matchingCity(dizhi)
}
//解析定位错误信息
function onError(data) {
document.getElementById('status').innerHTML = '定位失败'
document.getElementById('result').innerHTML = '失败原因排查信息:' + data.message;
}
function matchingCity(dizhi) {
var arr = ['河南省-郑州市-中原区' , '河南省-郑州市-金水区' , '河南省-郑州市-二七区'];
var matching = [];
for (i = 0; i < arr.length; i++) {
if (arr[i] === dizhi) {
matching[i] = dizhi;
}
}
document.getElementById('result').innerHTML = matching[2]
/*$.ajax({
url: "{:url('')}",
data: { dizhi:dizhi },
dataType: 'json',
type: 'post',
async: true,
error: function (e) {
},
success: function (data) {
if (data.code) {
}
}
});*/
}
</script>
</body>
</html>