nellson 2019-11-19
在php中根据实际地址获取对应的经纬度,这里推荐使用百度地图和腾讯地图提供的现成的接口
这里注意一点:
百度地图和腾讯地图的坐标与真实经纬度是不同的,国际经纬度坐标标准为WGS-84,国内必须至少使用国测局制定的GCJ-02,对地理位置进行首次加密,腾讯使用的就是国测局制定的GCJ-02。百度坐标在此基础上,进行了BD-09二次加密措施
一:百度地图:
根据实际地址获取经纬度的百度接口文档地址:地理编码
1:获取密钥
点击文档左侧的获取密钥按钮,根据提示获取密钥
2:实现根据实际地址获取到经纬度
<?php function curl($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); //参数为1表示传输数据,为0表示直接输出显示。 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //参数为0表示不带头文件,为1表示带头文件 curl_setopt($ch, CURLOPT_HEADER,0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false); $output = curl_exec($ch); curl_close($ch); return $output; } $data_info=curl("http://api.map.baidu.com/geocoder/v2/?address=实际地址&output=json&ak=你的密钥"); $data_info = json_decode($data_info, true); //数据转换 print_r($data_info);
根据如上的代码就可以获取到实际地址对应的经纬度
二:腾讯地图
腾讯根据实际地址获取经纬度接口文档:https://lbs.qq.com/webservice...
1:获取密钥:
申请密钥地址:https://lbs.qq.com/console/ke...
根据提示获取到所需的密钥
2:获取实际地址的经纬度
接口:https://apis.map.qq.com/ws/ge...
代码实现和上面的相同,这里就不写出来了