PHP
/****
* @return \think\response\Json
* 根据经纬度获取地址
*/
public function getAddressByLatLon(){
extract(input());
$longitude = $lon;//用户当前定位的经度118.73893
$latitude = $lat;//用户当前定位的纬度31.939964
$place_url = 'http://api.map.baidu.com/geocoder/v2/?location='.$latitude.','.$longitude.'&
output=json&ak=dsOE1fqvrdIPMRqZW8WYylBO36mWHVSp';
//$place_url="https://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&key=YOUR_API_KEY";
$json_place = file_get_contents($place_url);
$place_arr = json_decode($json_place,true);
$address = $place_arr['result']['formatted_address'];
return json(array('status'=>200,'msg'=>$address));
}
JS
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
<style type="text/css">
body,html,#container{
height: 100%;
margin: 0px
}
.panel {
background-color: #ddf;
color: #333;
border: 1px solid silver;
box-shadow: 3px 4px 3px 0px silver;
position: absolute;
top: 10px;
right: 10px;
border-radius: 5px;
overflow: hidden;
line-height: 20px;
}
#input{
width: 250px;
height: 25px;
border: 0;
}
</style>
<title>地址与经纬度</title>
</head>
<body>
<div id="container" tabindex="0"></div>
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.2&key=5a18100022aa01e213a9b2680f7ccbf9"></script>
<script type="text/javascript">
var map = new AMap.Map('container',{
resizeEnable: true,
zoom: 13,
center: [116.39,39.9]
});
AMap.plugin('AMap.Geocoder',function(){
var geocoder = new AMap.Geocoder({
city: "010"//城市,默认:“全国”
});
var lnglatXY=[118.765084, 31.969888];//地图上所标点的坐标
geocoder.getAddress(lnglatXY, function(status, result) {
if (status === 'complete' && result.info === 'OK') {
//获得了有效的地址信息:
result.regeocode.addressComponent打印这个获取具体信息
result.regeocode.addressComponent['district']//区
alert(result.regeocode.formattedAddress)
}else{
//获取地址失败
}
});
});
</script>
<script type="text/javascript" src="https://webapi.amap.com/demos/js/liteToolbar.js"></script>
</body>
</html>