百度地图api根据用户IP获取用户位置(PHP)
2024-10-20 16:50:48
1.百度地图开放平台找的你的ak ,链接:http://lbsyun.baidu.com/apiconsole/key
2.获取用户ip地址(外网ip 服务器上可以获取用户外网Ip 本机ip地址只能获取127.0.0.1) ,可利用下面函数,或者$_SERVER
[
"REMOTE_ADDR"
]
function getip(){
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$cip = $_SERVER["HTTP_CLIENT_IP"];
}
else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){
$cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
else if(!empty($_SERVER["REMOTE_ADDR"])){
$cip = $_SERVER["REMOTE_ADDR"];
}
else{
$cip = '';
}
preg_match("/[\d\.]{7,15}/", $cip, $cips);
$cip = isset($cips[0]) ? $cips[0] : 'unknown';
unset($cips);
return $cip;
}
//根据IP获取用户地址信息(其中$ak你的ak),下面只是获取到省市信息,需要其他信息可打印$info
public function get_user_addr(){
$user_ip = $this->getip();
$url = "http://api.map.baidu.com/location/ip?ak=$ak&ip=$user_ip";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($ch);
if(curl_errno($ch)) {
echo 'CURL ERROR Code: '.curl_errno($ch).', reason: '.curl_error($ch);
}
curl_close($ch);
$info = json_decode($output, true);
if($info['status'] == "0"){
$addr_info = $info['content']['address_detail']['province'].' '.$info['content']['address_detail']['city'];
}
return $addr_info;
}
备注:获取位置信息到市级
原文链接(感谢博主分享):https://www.cnblogs.com/zff193/p/4171135.html
最新文章
- 在 Django 模板中遍历复杂数据结构的关键是句点字符
- service对象
- freemarker跳出循环
- HDU2699+Easy
- Day1 初识Python
- 使用cx_Freeze 将python3代码打包成.exe程序
- 已知TSP问题的最好解
- codeforces 438D
- FTP中MLST概要解读---解决获取ftpFile为null的另外一种方式
- 编写第一个Flutter App(翻译)
- hdu 6095 Rikka with Competition---思维题贪心
- 【Flask】abort和errorhandler、app_errorhandler进行请求中断及自定义异常处理
- redis三种启动方式
- C语言递归练习
- C# 所有特性,特性所在命名空间,那些命名空间拥有特性类
- 【BZOJ】【3503】【CQOI2014】和谐矩阵
- IO流-文件拷贝
- SSH整合中,使用父action重构子类action类.(在父类中获取子类中的泛型对象)
- C#设计模式--工厂模式之简单模式
- 本站上线KMS服务~一句命令激活windows和office
热门文章
- SpringBoot入门学习看这一篇就够了
- 现代c++模板元编程:遍历tuple
- Ajax数据爬取--爬取微博
- c++ 反汇编 继承
- 前瞻|Amundsen的数据血缘功能
- java例题_37 有 n 个人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子, 3 问最后留下的是原来第几号的那位。
- EfficientNet &; EfficientDet 论文解读
- >; 与 <; 差在哪?-- Shell十三问<;第十一问>;
- Distributed | ZooKeeper
- Kafka优雅应用