- 注册账号并申请key
以下代码引入了jquery
<!--引入高德地图定位能力-->
<script type="text/javascript"
src="https://webapi.amap.com/maps?v=1.3&key=这里用你自己申请的key&plugin=AMap.Autocomplete,AMap.PlaceSearch,AMap.Geocoder"></script>
<!--引入jquery-->
<script type="text/javascript" src="plugin/jquery-3.4.1.min.js"></script>
var map, geolocation;
// 获取经纬度
function data() {
console.log("自动获取定位")
map = new AMap.Map('container');
map.plugin('AMap.Geolocation', function () {
geolocation = new AMap.Geolocation({
enableHighAccuracy: true,//是否使用高精度定位,默认:true
timeout: 10000, //超过10秒后停止定位,默认:无穷大
maximumAge: 0, //定位结果缓存0毫秒,默认:0
GeoLocationFirst: true //功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
});
map.addControl(geolocation);
geolocation.getCurrentPosition();
AMap.event.addListener(geolocation, 'complete', onComplete); //返回定位信息
AMap.event.addListener(geolocation, 'error', onError); //返回定位出错信息
});
}
var myplace = ''; //我的位置
var mycity = ''; //我所在的城市
//解析定位结果
function onComplete(data) {
var str = ['定位成功'];
// $(".zqxf01").text(data.position.getLng() + "aaa" + data.position.getLat())
str.push('经度:' + data.position.getLng());
str.push('纬度:' + data.position.getLat());
getPositionByLonLats2(data.position.getLng(), data.position.getLat());
}
function getPositionByLonLats2(lat, lng) {
var location = lat + "," + lng;
$.get({
url: "https://restapi.amap.com/v3/geocode/regeo?parameters",
dataType: "json",
data: {key: "这里用你自己申请的key", location: location},
success: function (data) {
console.log('aaa' + data)
//alert(JSON.stringify(data))
var message = JSON.stringify(data);
var d = JSON.parse(message);
if (d.status == 1) {
//高德文档地址:https://lbs.amap.com/api/webservice/guide/api/georegeo
//district:区
//存储省级信息
var address = d.regeocode.addressComponent.province//district;
//存储当前选的地址(自动或者手动)
localStorage.setItem("province", address);
selectShop();
//自动定位存储定位信息
sessionStorage.setItem("locationAddressSession", address);
$("#locationCity").html(address);
} else {
$("#locationCity").html("上海");//默认上海
}
$('.toast').css({display: 'none'})
}
})
}