PHP根据地址获取百度地图经纬度的实例方法
1. 概述
在一些需要获取经纬度的应用中,根据地址获取经纬度是必不可少的一环。本文将介绍使用PHP获取指定地址的经纬度的方法,并提供一个实例。
2. 准备工作
为了使用百度地图API获取指定地址的经纬度,需要先获取开发者密钥,然后在PHP代码中调用API。具体步骤如下:
2.1 获取开发者密钥
在访问百度地图开发者页面(http://lbsyun.baidu.com/)时,需要注册账号并登录。登录后,进入控制台页面后,点击“应用管理”->“创建应用”按钮,在弹出的“创建应用”页面中填写应用基本信息,并设置“百度地图”为需要使用的服务。在点击保存后,页面跳转到应用页面,此时在页面的左侧“密钥设置”菜单下即可查看开发者密钥。
2.2 调用百度地图API
在PHP代码中,可以通过调用百度地图API,获取指定地址的经纬度。调用API需要用到以下参数:
+ ak:开发者密钥,必填
+ address:指定地址,必填
+ output:返回格式,可选,默认为JSON格式
+ city:城市名称,可选,默认为当前城市
具体调用方法如下所示:
function getLocation($address){
$url = 'http://api.map.baidu.com/geocoding/v3/?address='.$address.'&output=json&ak=开发者密钥';
$result = file_get_contents($url); //通过file_get_contents方法获取百度API返回的结果
$result = json_decode($result, true); //将结果转换为数组
return $result['result']['location'];
}
3. 实例方法
下面是一个根据地址获取经纬度的具体实例:
$address = '上海市浦东新区xxx路yyy号';
$location = getLocation($address); //调用上面的getLocation方法
if($location){
$longitude = $location['lng']; //获取经度
$latitude = $location['lat']; //获取纬度
echo '经度:'.$longitude.'
';
echo '纬度:'.$latitude.'
';
}
else{
echo '无法获取指定地址的经纬度';
}
在实例中,需要注意调用getLocation方法时传入的地址参数应为具体的地址信息;如果成功获取到经纬度,则可以通过$location['lng']和$location['lat']获取经度和纬度,否则说明无法获取指定地址的经纬度。
4. 总结
本文介绍了使用PHP获取指定地址的经纬度方法,并提供了一个实例。其中,需要先获取开发者密钥,然后调用百度地图API获取指定地址的经纬度。需要注意的是,传入的地址参数应为具体的地址信息,如果获取不到,则说明无法获取指定地址的经纬度。