通过当前html获取当前地址,借助高德地图实现https://lbs.amap.com,效果图
开箱即用
两张标记点的图
核心代码
var marker, map = new AMap.Map('container', {
resizeEnable: true
});
AMap.plugin('AMap.Geolocation', function () {
var geolocation = new AMap.Geolocation({
enableHighAccuracy: true,//是否使用高精度定位,默认:true
timeout: 20000, //超过10秒后停止定位,默认:5s
buttonPosition: 'RB', //定位按钮的停靠位置
buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
zoomToAccuracy: true, //定位成功后是否自动调整地图视野到定位点
showCircle: true,//是否显示定位精度圈
});
map.addControl(geolocation);
geolocation.getCurrentPosition(function (status, result) {
if (status === 'complete') {
onComplete(result)
} else {
onError(result)
}
});
});
//解析定位结果
function onComplete(data) {
console.log('定位成功')
var str = [];
console.log(data)
console.log('定位结果:' + data.position);
console.log('定位类别:' + data.location_type);
if (data.accuracy) {
console.log('精度:' + data.accuracy + ' 米');
}//如为IP精确定位结果则没有精度信息
console.log('是否经过偏移:' + (data.isConverted ? '是' : '否'));
document.getElementById("current").innerText = data.formattedAddress
marker_t(data.position)
// marker.setAnimation('AMAP_ANIMATION_BOUNCE');
}
//解析定位错误信息
function onError(data) {
console.log('定位失败')
console.log('失败原因排查信息:' + data.message);
}
// 高德地图查询周边
function aMapSearchNearBy(centerPoint, city) {
AMap.service(["AMap.PlaceSearch"], function () {
var placeSearch = new AMap.PlaceSearch({
pageSize: 50, // 每页10条
pageIndex: 1, // 获取第一页
// city: city // 指定城市名(如果你获取不到城市名称,这个参数也可以不传,注释掉)
children: 1,
type: "汽车服务|汽车销售|汽车维修|摩托车服务|餐饮服务|购物服务|生活服务|体育休闲服务|医疗保健服务|住宿服务|风景名胜|商务住宅|政府机构及社会团体|科教文化服务|交通设施服务|金融保险服务|公司企业|道路附属设施|地名地址信息|公共设施"
});
// 第一个参数是关键字,这里传入的空表示不需要根据关键字过滤
// 第二个参数是经纬度,数组类型
// 第三个参数是半径,周边的范围
// 第四个参数为回调函数
placeSearch.searchNearBy('', centerPoint, 2000, function (status, result) {
console.log(result.info)
if (result.info === 'OK') {
console.log(result)
locationList = result.poiList.pois; // 周边地标建筑列表
$("#poiList").empty()
if (locationList && locationList.length > 0)
$("#current").text(getFormatAddr(locationList[0]))
for (let i = 0; i < locationList.length; i++) {
var item = "<li onclick='selected_lc(" + i + ")'>"
// item += "<img class='left_t' src='../portal/images/location_top_sm.png' alt=''/>"
item += "<p class='addr_name'>" + locationList[i].name + "</p>"
item += "<p class='all_addr'>" + locationList[i].pname + locationList[i].cityname + locationList[i].adname + locationList[i].address + "</p>"
item += " </li>"
// alert(item)
$("#poiList").append(item)
}
//document.getElementById("poiList").innerHTML=str
// 生成地址列表html createLocationHtml(locationList);
} else {
console.log('获取位置信息失败!');
}
});
});
}
完整代码:https://download.csdn.net/download/qq_41389354/13732676
代码出现任何问题请联系我QQ:1603565290,浏览器接入互联网而且必须允许获取位置信息,