php 根据实际地址获取对应的经纬度

nellson 2019-11-19

在php中根据实际地址获取对应的经纬度,这里推荐使用百度地图和腾讯地图提供的现成的接口

这里注意一点:

百度地图和腾讯地图的坐标与真实经纬度是不同的,国际经纬度坐标标准为WGS-84,国内必须至少使用国测局制定的GCJ-02,对地理位置进行首次加密,腾讯使用的就是国测局制定的GCJ-02。百度坐标在此基础上,进行了BD-09二次加密措施

一:百度地图:

根据实际地址获取经纬度的百度接口文档地址:地理编码

1:获取密钥

点击文档左侧的获取密钥按钮,根据提示获取密钥

php 根据实际地址获取对应的经纬度

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...

代码实现和上面的相同,这里就不写出来了

相关推荐