php依据地理坐标获取国家、省份、城市,及周边数据类
功能:当App获取到用户的地理坐标时,能够依据坐标知道用户当前在那个国家、省份、城市。及周边有什么数据。
原理:基于百度Geocoding API 实现。须要先注冊百度开发人员。然后申请百度AK(密钥)
Geocoding.class.php
<?php
/*** 依据地理坐标获取国家、省份、城市,及周边数据类(利用百度Geocoding API实现)* 百度密钥获取方法:http://lbsyun.baidu.com/apiconsole/key?application=key(须要先注冊百度开发人员账号)* Date: 2015-07-30* Author: fdipzone* Ver: 1.0** Func:* Public getAddressComponent 依据地址获取国家、省份、城市及周边数据* Private toCurl 使用curl调用百度Geocoding API*/class Geocoding {// 百度Geocoding APIconst API = 'http://api.map.baidu.com/geocoder/v2/';// 不显示周边数据const NO_POIS = 0;// 显示周边数据const POIS = 1; /*** 依据地址获取国家、省份、城市及周边数据* @param String $ak 百度ak(密钥)* @param Decimal $longitude 经度* @param Decimal $latitude 纬度* @param Int $pois 是否显示周边数据* @return Array*/public static function getAddressComponent($ak, $longitude, $latitude, $pois=self::NO_POIS){$param = array('ak' => $ak,'location' => implode(',', array($latitude, $longitude)),'pois' => $pois,'output' => 'json');// 请求百度api$response = self::toCurl(self::API, $param);$result = array();if($response){$result = json_decode($response, true);}return $result;}/*** 使用curl调用百度Geocoding API* @param String $url 请求的地址* @param Array $param 请求的參数* @return JSON*/private static function toCurl($url, $param=array()){$ch = curl_init();if(substr($url,0,5)=='https'){curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, true); // 从证书中检查SSL加密算法是否存在}curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_POST, true);curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($param));$response = curl_exec($ch);if($error=curl_error($ch)){return false;}curl_close($ch);return $response;}}?
>
demo.php
<?php
require "Geocoding.class.php";$ak = '这里填写你的百度AK';
$longitude = 113.327782;
$latitude = 23.137202;$result = Geocoding::getAddressComponent($ak, $longitude, $latitude, Geocoding::NO_POIS);echo '<pre>';
print_r($result);
echo '</pre>';
?
>
样例返回:
Array
([status] => 0[result] => Array([location] => Array([lng] => 113.32778195925[lat] => 23.137201991056)[formatted_address] => 广东省广州市天河区体育西横街35号[business] => 天河城,体育中心,沙河[addressComponent] => Array([city] => 广州市[country] => 中国[direction] => 附近[distance] => 14[district] => 天河区[province] => 广东省[street] => 体育西横街[street_number] => 35号[country_code] => 0)[poiRegions] => Array()[sematic_description] => 红盾大厦北58米[cityCode] => 257))
源代码下载地址:点击查看
转载于:https://www.cnblogs.com/jzssuanfa/p/7273368.html
php依据地理坐标获取国家、省份、城市,及周边数据类相关推荐
- 【java】使用ip获取 国家 省份 城市
1.下载GeoLite2 City库 下载地址: http://dev.maxmind.com/geoip/geoip2/geolite2/ https://download.csdn.net/dow ...
- php 通过坐标获取省市,通过php根据地理坐标来获取国家、省份、城市,及周边数据类...
功能:当App获取到用户的地理坐标时,可以根据坐标知道用户当前在那个国家.省份.城市,及周边有什么数据. 原理:基于百度Geocoding API 实现,需要先注册百度开发者,然后申请百度AK(密钥) ...
- 最新IP数据库-基于国家省份城市县区和运营商-专业准确-每月发行
最新IP地址数据库(qqzeng-ip) 2023年6月 最新发行版 992003 条数据 版本:全球旗舰版(国内精华版+国外拓展版) 基于:国内基于省市区以及运营商 国外基于国家 部分到大城市和运营 ...
- 修改QQ资料国家,省份,城市为空
最新修改QQ资料国家,省份,城市为空的方法 打开默认就填上了 好多人都想把QQ资料中的国家.城市有的人都是这样 "首先我们要准备的工具是 腾讯QQ2008 贺岁版(没有的去百度搜下) 年龄也 ...
- Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据)
Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以获得多天天数据) 目录 Unity 工具之 获取当前所在城市的天气数据的封装(自动定位当前所在城市,天气数据可以 ...
- java IP转换为国家省份城市
日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) 参考文章:https://blog.csdn.net/chws ...
- 国家省份城市级联菜单
<html> <head> <title>级联菜单</title> <meta http-equiv="Content-Type&quo ...
- 【Java获取国家法定节假日三种工具类其三】
使用GitHub开源Api调用获取国家法定节假日 public class HolidayUtils {/*** 请求第三方接口的方法** @param url 请求的url* @return*/pu ...
- js 获取当前国家 省份 城市等信息
引入jquery.js$.getScript('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js',function(){ale ...
- 世界国家省份城市县区街道村地址邮编常用通用功能最全API - 多级联动 - 淘宝天猫阿里巴巴技术赏析...
请登录购买宝贝并到结帐页面 http://unit.buy.tmall.com/order/confirmOrder.htm 当到这个页面后,你会发现这个页面是个iframe(框架),单击右键可以轻松 ...
最新文章
- Java中的等待/通知机制(wait/notify)
- python smtp模块发送邮件
- Request_获取请求头数据
- Java——线程锁,死锁,等待唤醒机制
- 华中师范大学本科生计算机课教师,华中师范大学第八届大学生计算机设计大赛的通知...
- es6 Object.getPrototypeOf()方法
- 解决: Mysql安装时mysqld.exe报`应用程序无法正常启动(0xc000007b)`的问题
- iOS Crash常规跟踪方法及Bugly集成运用
- 版本差异_终极版!三星Note20系列在真机再曝光,不同版本差异在这几点
- DPDK之PMD原理
- Eclipse Theia:Eclipse的继承者?
- Bulma CSS框架教程
- (孔乙己茴香豆的的“茴”字有几种写法)三栏布局两边固定中间自适应
- 记一次wkhtmltopdf填坑经历
- 《产品前线:48位一线互联网产品经理的智慧与实战》读书笔记3
- python中怎么把每一个字符用、隔开_python 实现将list转成字符串,中间用空格隔开...
- OSI七层模型基础知识及各层常见应用
- UserBehavior用户行为分析
- 无https证书调用摄像头以及精伦读卡器IDR210-1调用安装
- HashMap、哈希表、哈希函数
热门文章
- 苹果Mac专业的 Go 开发集成环境:JetBrains GoLand
- Redis 单数据多源超高并发下的解决方案
- Redis 单机使用以及部署
- 中国云计算进入全球通时代 阿里云四大海外数据中心相继开服
- win7下声音图标消失的解决办法
- 实现网页页面跳转的几种方法(meta标签、js实现、php实现)
- POJ-1087 A Plug for UNIX 网络流
- MySQL复制 自动监控脚本
- [电影]十七岁的单车
- 我们公司使用了 6 年的Spring Boot 项目部署方案!打包 + Shell 脚本部署详解,稳的一批!...