php根据地址获取百度地图经纬度的实例方法

首先我们来看全部实例代码:

/**
 * @param string $address 地址
 * @param string $city 城市名
 * @return array
 */
function getLatLng($address=‘‘,$city=‘‘)
{
 $result = array();
 $ak = ‘‘;//您的百度地图ak,可以去百度开发者中心去免费申请
 $url ="http://api.map.baidu.com/geocoder/v2/?callback=renderOption&output=json&address=".$address."&city=".$city."&ak=".$ak;
 $data = file_get_contents($url);
 $data = str_replace(‘renderOption&&renderOption(‘, ‘‘, $data);
 $data = str_replace(‘)‘, ‘‘, $data);
 $data = json_decode($data,true);
 if (!empty($data) && $data[‘status‘] == 0) {
  $result[‘lat‘] = $data[‘result‘][‘location‘][‘lat‘];
  $result[‘lng‘] = $data[‘result‘][‘location‘][‘lng‘];
  return $result;//返回经纬度结果
 }else{
  return null;
 }

}

扩展阅读:

官方方法总结:

/**
  * 搜索地址,查询周边的位置 ()
  */
 public function query_address($key_words){
  $header[] = 'Referer: http://lbs.qq.com/webservice_v1/guide-suggestion.html';
  $header[] = 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36';
  $url ="http://apis.map.qq.com/ws/place/v1/suggestion/?&region=&key=OB4BZ-D4W3U-B7VVO-4PJWW-6TKDJ-WPB77&keyword=".$key_words; 

  $ch = curl_init();
  //设置选项,包括URL
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_HEADER, 0);

  //执行并获取HTML文档内容
  $output = curl_exec($ch);
   // print_r($output);die;
  //释放curl句柄
  curl_close($ch);
  // return $output;
  $result = json_decode($output,true);
   // print_r($result);
  // $res = $result['data'][0];
  return $result;
   //echo json_encode(['error_code'=>'SUCCESS','reason'=>'查询成功','result'=>$result);
 }

示例:

返回值:有很多与参数地址相近的经纬度(一般默认取第一条数据,也就是下标是0的那条经纬度)

if(!empty($result['data'][0])){
      $address = $result['data'][0];
      // var_dump($result) ;
      sleep(0.5);
      //print_r($address);
      $lat2 = $address['location']['lat'];
      $lng2 = $address['location']['lng'];
}

以上就是本次介绍的全部知识点内容,感谢大家对我们的支持。

(0)

相关推荐

  • php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法

    本文实例讲述了php获取指定(访客)IP所有信息(地址.邮政编码.国家.经纬度等)的方法.分享给大家供大家参考.具体如下: 调用方法非常简单.这个也需要数据库来支持.数据库中中文和拼音共存才可以. 废话不多说,看代码: <?php function getIpInfo($ip,$timeout=15) { if(!function_exists('curl_init') or !function_exists('simplexml_load_string')) return false; $ch

  • php根据地址获取百度地图经纬度的实例方法

    首先我们来看全部实例代码: /** * @param string $address 地址 * @param string $city 城市名 * @return array */ function getLatLng($address='',$city='') { $result = array(); $ak = '';//您的百度地图ak,可以去百度开发者中心去免费申请 $url ="http://api.map.baidu.com/geocoder/v2/?callback=renderO

  • 百度地图经纬度转换到腾讯地图/Google 对应的经纬度

    实现目的:将百度地图经纬度 转换到 腾讯地图/Google 对应的经纬度. 方法1:使用代码进行转换 存在的问题:转换之后误差大,基本不可用 public static void Convert_BD09_To_GCJ02(double lat, double lng) { double x_pi = Math. PI * 3000.0 / 180.0; double x = lng - 0.0065, y = lat - 0.006; double z = Math. sqrt(x * x +

  • 百度地图API之百度地图退拽标记点获取经纬度的实现代码

    本文给大家分享百度地图api之百度地图退拽标记点获取经纬度的实现方法,具体代码如下所示: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="initial-scale=1.0

  • Android 调用百度地图API示例

    Android 调用百度地图API 一.到 百度地图开发平台下载SDK http://lbsyun.baidu.com/index.php?title=androidsdk/sdkandev-download 1.点击自定义下载 2.下载自己想要的功能包我这里选了三个 3.获取密钥 获取密钥之前我们要新建一个应用 填写好相关的信息 二. 新建一个项目工程 1. 把下载好的百度sdk中的jar包拷贝到项目的libs目录下 2.在application中添加开发密钥 3.添加所需的权限 <uses-

  • python通过百度地图API获取某地址的经纬度详解

    前言 这几天比较空闲,就接触了下百度地图的API(开发者中心链接地址:http://developer.baidu.com),发现调用还是挺方便的,本文将给大家详细的介绍关于python通过百度地图API获取某地址的经纬度的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 申请百度API 1.打开网页 http://lbsyun.baidu.com/index.php?title=首页 选择功能与服务中的地图,点击左边的获取密匙,然后按照要求申请即可,需要手机和百度账号

  • JS使用百度地图API自动获取地址和经纬度操作示例

    本文实例讲述了JS使用百度地图API自动获取地址和经纬度操作.分享给大家供大家参考,具体如下: 在实际工作中我们经常会遇到这样的问题,但是当我们去看百度API的时候往往又达不到我们的要求. 故此,本篇博文讲述如何使用百度地图API自动获取地址和经纬度: 1.HTML代码如下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xht

  • vue中调用百度地图获取经纬度的实现

    项目中,需要实现获取当前位置的经纬度,或者搜索某个位置并获取经纬度信息,我使用的的是vue,地图使用的是百度地图. 默认自动获取当前位置经纬度 拖动小红标 获取经纬度 关键词 查询获取经纬度 前期准备 首先,我们需要取百度官方申请一个地图api秘钥,https://lbsyun.baidu.com/apiconsole/key 进入后在应用管理,我的应用去申请即可. 申请好以后,我们打开vue项目中public文件下的index.html文件,拼接百度AK值并引入 <script type=&quo

  • AngularJs 利用百度地图API 定位当前位置 获取地址信息

    第一.申请百度密钥  很简单的几步就搞定 第二.引入文件 <!-- 百度地图定位 --> <script src="http://api.map.baidu.com/components?ak=WUfZTjKPuZ2G5RmgD0Psejv6XOmIEQVQ"></script> <script type="text/javascript" src="http://api.map.baidu.com/api?v=2

  • C#调用百度地图API根据地名获取经纬度geocoding

    目录 前言 步骤 一.到百度地图开放平台注册认证,并创建应用,获取ak 二.查看api文档 三.创建GeocodingMap类,根据地名获取经纬度 参考 前言 公司的一个内部网站维护,需要根据地名填写经纬度,最终同echarts生成地图. 之前数据比较少,直接经纬度查询查的,https://jingweidu.bmcx.com/ 现在数据越来越多,手动查询太麻烦,于是想到通过地图api批量查询,最后选择了百度地图API. 步骤 一.到百度地图开放平台注册认证,并创建应用,获取ak 百度地图开放平

  • 百度地图API应用之获取用户的具体位置

    功能的大概:用户通过点击地图上面的位置,在地图上面进行描点,然后再把获取的到的地理位置保存到地图上面的地址栏目中. 主要是百度地图API的使用 复制代码 代码如下: var map = new BMap.Map("allmap"); //实例化一个地图对象var point = new BMap.Point(116.331398,39.897445); //设置地图中心的位置map.centerAndZoom(point,12); //设置地图元素的可视层 map.enableScro

随机推荐