概述
百度地图api地址正逆解析
- 百度地图api地址正逆解析
- 类封装
- 类调用一
- 响应一
- 调用二
百度地图api地址正逆解析
类封装
<?php
namespace appcommonutil;
/**
* @author jason
* @date 2021-04-28
* @descript 百度地图接口方法封装类
* Class BaiduApi
* @package appcommonutil
*/
class BaiduMapApi
{
// 百度geocoder API
const API = "http://api.map.baidu.com/geocoder/v2/";
// 百度reverse geocoder API
const REVERSE_API = "http://api.map.baidu.com/geocoder/v2/";
/**
* @author jason
* @date 2021-04-28
* @descript 地址解析
* @param $address //地址信息(如:南京市栖霞区迈皋桥街道迈越路18号)
* @param $ak //ak密钥
* @return array 包含经纬度
*/
public static function geocoder($address, $ak)
{
$address_data = urlencode($address);
$url = self::API."?address=".$address_data."&output=json&ak=".$ak;
$address_map_data = file_get_contents($url);
$json_data = json_decode($address_map_data, true);
return $json_data;
}
/**
* @author jason
* @date 2021-04-28
* @descript 逆地址解析
* @param $lng //经度 如:116.302509
* @param $lat //纬度 如:39.991041
* @param $ak //ak密钥
* @return mixed
*/
public static function reverseGeocoder($lng, $lat, $ak)
{
$url = self::REVERSE_API."?ak=$ak&output=json&coordtype=bd09ll&location=$lat,$lng";
$address_data = file_get_contents($url);
$json_data = json_decode($address_data, true);
return $json_data;
}
}
类调用一
$address = '南京市栖霞区迈皋桥街道迈越路18号';
$location = BaiduMapApi::geocoder($address, env('BAIDU_MAP.AK'));
响应一
Array
(
[status] => 0
[result] => Array
(
[location] => Array
(
[lng] => 118.86707868773
[lat] => 32.113371513019
)
[precise] => 1
[confidence] => 80
[comprehension] => 100
[level] => 门址
)
)
调用二
$lng = 116.302509;
$lat = 39.991041;
$address = BaiduMapApi::reverseGeocoder($lng, $lat, env('BAIDU_MAP.AK'));
##响应二
Array
(
[status] => 0
[result] => Array
(
[location] => Array
(
[lng] => 116.302509
[lat] => 39.991041070751
)
[formatted_address] => 北京市海淀区海淀三山五园绿道
[business] => 万泉河,万柳,中关村
[addressComponent] => Array
(
[country] => 中国
[country_code] => 0
[country_code_iso] => CHN
[country_code_iso2] => CN
[province] => 北京市
[city] => 北京市
[city_level] => 2
[district] => 海淀区
[town] =>
[town_code] =>
[adcode] => 110108
[street] => 海淀三山五园绿道
[street_number] =>
[direction] =>
[distance] =>
)
[pois] => Array
(
)
[roads] => Array
(
)
[poiRegions] => Array
(
[0] => Array
(
[direction_desc] => 内
[name] => 海淀公园
[tag] => 旅游景点;公园
[uid] => 92df8c20d3c448cf52e5c5f5
[distance] => 0
)
)
[sematic_description] => 海淀公园内,西苑草场-188号东412米
[cityCode] => 131
)
)
最后
以上就是任性盼望为你收集整理的百度地图api地址正逆解析百度地图api地址正逆解析的全部内容,希望文章能够帮你解决百度地图api地址正逆解析百度地图api地址正逆解析所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复