在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_v1/guide-geocoder.html
1:获取密钥:
申请密钥地址:https://lbs.qq.com/console/key.html
根据提示获取到所需的密钥
2:获取实际地址的经纬度
接口:https://apis.map.qq.com/ws/geocoder/v1/?address=实际地址&key=您的密钥
代码实现和上面的相同,这里就不写出来了
原文:https://blog.csdn.net/huaweichenai/article/details/90233294