PHP根据经纬度获取城市信息

php根据地理坐标获取国家、省份、城市,及周边数据类 * 根据地理坐标获取国家、省份、城市,及周边数据类(利用百度Geocoding API实现) * 百度密钥获取方法:http://lbsyun.baidu.com/apiconsole/key?application=key(需要先注册百度开发者账号) * Func: * Public getAddressComponent 根据地址获取国家、省份、城市及周边数据 * Private toCurl 使用curl调用百度Geocoding API 立即下载

根据经纬度获取城市信息,可以使用百度地图的api,具体代码如下:

public function getCityByLongLat($lon, $lat) {
        if ($lon == '' || $lat == '') return '';
        $url = "http://api.map.baidu.com/geocoder?location={$lon},{$lat}";
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
        $output = curl_exec($ch);
        curl_close($ch);
        return $output;
}

调用该方法:getCityByLongLat(114.03445502387153, 22.664319932725693);返回结果是一个xml的字符串,如下是var_dump()打印结果:

把结果转化为数组输出:

public function getCityByLongLat($lon, $lat) {
        if ($lon == '' || $lat == '') return '';
        $url = "http://api.map.baidu.com/geocoder?location={$lon},{$lat}";
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
        $output = curl_exec($ch);
        curl_close($ch);
        $data = json_decode(json_encode(simplexml_load_string($output, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
        return $data;
}

输出结果如下:

var_dump()数组

数组转json

php根据经度纬度坐标获取区域信息 根据经度纬度坐标获取区域信息,可以使用逆地理编码服务。逆地理编码是将经纬度坐标转换为可读的地址信息的过程。在PHP中,可以使用百度地图API提供的逆地理编码服务来实现。需要注意的是,百度地图API的使用需要遵守相关的服务条款和隐私政策。构造请求URL,包括ak、经纬度坐标等参数。获取百度地图API的开发者密钥(ak)。解析响应结果,提取需要的区域信息。发送HTTP请求,获取响应结果。 阅读详情

相关推荐

PHP根据经纬度得到城市

封装了3个函数, 方便使用

免费天气预报接口 - 天气api 1503

PHP根据经纬度计算指定地点距离位置 并且可以限制距离

在上面的代码中,我们首先定义了一个名为 getNearbyLocations() 的函数,它接受三个参数:基准点的经度、纬度和限制距离。然后,我们使用 PDO 对数据库进行查询,根据经纬度计算每个位置与基准点之间的距离,并将距离作为一个名为 distance 的属性返回。最后,我们将查询结果按照距离升序排序,并返回查询结果。请注意,上面的代码中使用了 PDO 进行数据库查询,你需要将 $pdo 替换为你自己的 PDO 实例。此外,上面的代码仅仅是一个示例,你需要根据你自己的数据库结构进行相应的调整。

qq_56816632的博客 670

PHP根据经纬度查询地理位置

PHP根据经纬度查询地理位置 function getCity($longitude, $latitude){ //调取百度接口,其中ak为百度帐号key,注意location纬度在前,经度在后 $api = "http://api.map.baidu.com/geocoder/v2/?ak=ZmliRk1lEOigtcPGcDeGSimRNkVdX64H&locati...

weixin_38806135的博客 2599

php通过经度纬度获取信息,PHP根据经纬度获取城市信息

根据经纬度获取城市信息,可以使用百度地图的api,具体代码如下:public function getCityByLongLat($lon, $lat) {if ($lon == '' || $lat == '') return '';$url = "http://api.map.baidu.com/geocoder?location={$lon},{$lat}";$ch = curl_init(...

weixin_34271294的博客 1032

根据城市查询经纬度 php,通过经纬度获取所属城市信息-php

$url = 'http://api.map.baidu.com/geocoder/v2/';//37.863036$longitude = number_format(doubleval($longitude), 6);//113.598909$latitude = number_format(doubleval($latitude), 6);$gps= $latitude . ','. $lo...

weixin_33571513的博客 526

PHP根据IP地址获取地理位置城市经纬度信息

在浏览器里请求这个地址。

qq_21810059的博客 801

PHP安装GeoIP扩展根据IP获取访客所在国家/城市/经纬度信息

为什么80%的码农都做不了架构师?>>> ...

weixin_33892359的博客 342

php 百度地图根据经纬度获取地址,使用百度地图api根据经纬度获取位置

由于做微信公众平台的时候需要根据经纬度获取地址,所以才有这个,本来没什么好写的,可是由于没做过php解析json对象,所以还是吃了点小亏,写下来记录一下百度地图地址解析在该例子中需要通过经纬度获取地址api链接 http://api.map.baidu.com/geocoder/v2/?ak=百度应用&location=经度,纬度&output=json&pois=0;不需...

weixin_39939303的博客 1228

PHP:利用php cURL来获取腾讯地图的相关数据

利用php cURL来获取腾讯地图的相关数据 在开发过程中,经常会用到地图、定位、城市列表等相关的数据,这时候我们就需要调用腾讯地图相应的接口来获取这些数据。今天就说一下如何利用php的cURL函数来获取这些数据。采用三个简单的例子来说明: 1、获取中国省市、城市列表 2、根据经纬度获取该地点的相关信息 3、根据详细位置获取该地点的经纬度php cURL】 cURL是一个利用...

xuxiaopang0417的博客 2609

tp5.0 根据经纬度 获取附近信息_php根据前端传递的经纬度获取区域地址信息

public function getCity() { $param = $this->request->param(); if (empty($param['lat']) && empty($param['lon'])) { return $this->exitJson('1', '定位失败,请打开定位权限'); } //维度 $lat = $param['la...

weixin_39653311的博客 209

高德地图使用php根据经度纬度获取详细地址的方法代码

高德地图使用php根据经度纬度获取详细地址的方法代码 <?php //固定好的key值,用的是高德地图的api接口 $key="3434344sdss3444334333"; //根据经纬度获取详细地址 //https://restapi.amap.com/v3/geocode/regeo?output=json&location=116.310003,39...

徊忆羽菲 1674

获取客户端IP地址及所在城市信息的资料

=====接口http://fw.qq.com/ipaddresshttp://www.ip138.com/ips.asp?ip=122.122.122.122http://www.js8.in/mywork/ipsearch/ipsearch.php?ip=116.5.116.67http://www.wjg121.cn/Service/IPAddress.asmx ==查询网址http:...

yanghuidang 107

高德地图php接口,简单使用高德地图开放平台API

需求说明输入经纬度,得到城市名挑选APIdemo/*** 根据输入的经纬度返回城市名称* @param $longitude 终点坐标(经度)* @param $dimension 终点坐标(纬度)* @return string*/public function getCity($longitude,$dimension){$location = $longitude . ',' . $dime...

weixin_39815345的博客 1060

tp5腾讯地图经纬度解析省市区

公共函数 function getCity($longitude, $latitude) { //调取腾讯接口,其中ak为key,注意location纬度在前,经度在后 $api = "https://apis.map.qq.com/ws/geocoder/v1/?location=" . $latitude . "," . $longitude . "&output=js...

slm311的专栏 1237

php计算位置范围,PHP地理位置计算

~~~// Geohash// @url: http://blog.jobbole.com/80633//***求两个已知经纬度之间的距离,单位为米*@param lng1,lng2 经度*@param lat1,lat2 纬度*@return float 距离,单位米**/function getdistance($lng1,$lat1,$lng2,$lat2){//将角度转为狐度$radLat...

weixin_42628573的博客 295

根据一个地址利用百度api返回该地址所在的省市

为什么80%的码农都做不了架构师?>>> ...

weixin_34414650的博客 1270

php 百度地图api获取经纬度,调用百度地图API接口获取地铁站的经纬度信息

今天我们来看一下,如何通过百地图API来获取地点的经纬度。首先百度地图提供了强大的API接口,我们可以通过调用它来实现目的。这是网址:https://lbsyun.baidu.com/。首先想要调用API接口,先要注册账号,注册成功后,会有一个开发者认证,输入邮箱,手机号就可以了。认证通过之后呢,我们就可以创建应用来获取AK了。AK就是调用API接口的凭证。打开控制台,点击创建应用,在应用类型那选...

weixin_39963053的博客 988
上一篇: centos7.4安装nginx
下一篇: laravel框架中php artisan storage:link快速创建软链接命令
离吾几米
博客等级 码龄8年 0粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值