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

56次阅读

共计 944 个字符,预计需要花费 3 分钟才能阅读完成。

在 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…

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

正文完
 0