PHP+JS百度地图获取定位信息
1.注册账号创建应用,获取秘钥(ak)
2.JS调用百度地图api
百度地图demo:http://lbsyun.baidu.com/jsdemo.htm#i8_2
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的秘钥(ak)"></script>
<div id="allmap"></div>
<script type="text/javascript">
var map = new BMap.Map("allmap");
var point = new BMap.Point(116.331398,39.897445);
map.centerAndZoom(point,12);
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){
var mk = new BMap.Marker(r.point);
map.addOverlay(mk);
map.panTo(r.point);
var lat = r.point.lat;
var lng = r.point.lng;
//通过ajax,传到后台返回到前台。
$.ajax({
url:'address.html',
type:'post',
data:{lat:lat,lng:lng},
success:function(data){
var obj = JSON.parse(data);
$("#road_btn").val(obj.message);
}
})
}else {
alert('failed'+this.getStatus());
}
},{enableHighAccuracy: true})
</script>
3.通过JS获取到经纬度,php处理返回
public function address(){
$lat=floatval($_POST['lat']);
$lng=floatval($_POST['lng']);
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,"http://api.map.baidu.com/geocoder/v2/?output=json&ak=您的秘钥&location={$lat},{$lng}");
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$res = curl_exec($ch);
curl_close($ch);
$json_obj = json_decode($res,true);
$this->err->add($json_obj['result']['formatted_address'], 111);
//$chs = json_decode($ch);
//echo json_encode($ch);
}