精华内容
下载资源
问答
  • PHP 使用高德接口获取地理编码和逆地理编码 产品介绍 地理编码/逆地理编码 API 是通过 HTTP/HTTPS 协议访问远程服务的接口,提供结构化地址与经纬度之间的相互转化的能力。 适用场景 地理编码:将详细的结构化地址...

    PHP 使用高德接口获取地理编码和逆地理编码

    产品介绍

    地理编码/逆地理编码 API 是通过 HTTP/HTTPS 协议访问远程服务的接口,提供结构化地址与经纬度之间的相互转化的能力。

    适用场景

    • 地理编码:将详细的结构化地址转换为高德经纬度坐标。且支持对地标性名胜景区、建筑物名称解析为高德经纬度坐标。 结构化地址举例:北京市朝阳区阜通东大街6号转换后经纬度:116.480881,39.989410 地标性建筑举例:天安门转换后经纬度:116.397499,39.908722
    • 逆地理编码:将经纬度转换为详细结构化的地址,且返回附近周边的POI、AOI信息。 例如:116.480881,39.989410 转换地址描述后:北京市朝阳区阜通东大街6号
    • 使用说明

      第一步,申请Web服务API类型Key

    第二步,参考接口参数文档发起HTTP/HTTPS请求,第一步申请的 Key 需作为必填参数一同发送;

    第三步,接收请求返回的数据(JSON或XML格式),参考返回参数文档解析数据。

    如无特殊声明,接口的输入参数和输出数据编码全部统一为 UTF-8 编码方式。

    以上内容来自高德开放平台 地理逆地理编码

    基础配置

    项目需要使用请求高德接口,因此选择来使用 guzzle/guzzle 来作为 http client

    composer require guzzlehttp/guzzle 

    获取地理编码

    use GuzzleHttp\Client;
    
    public function getGeo($address, $city, $batch = false, $format = 'json')
    {
        $url = 'https://restapi.amap.com/v3/geocode/geo';
        if (!\in_array(\strtolower($format), ['xml', 'json'])) {
            return 'Invalid response format: '.$format;
        }
        $query = array_filter([
            'key' => $this->key,
            'address' => $address,
            'city' => $city,
            'batch' => $batch,
            'output' => $format,
        ]);
        try {
            $client = new Client();
            $response = $client->get($url, [
                'query' => $query,
            ])->getBody()->getContents();
            return 'json' === $format ? \json_decode($response, true) : $response;
        } catch (\Exception $e) {
            return $e->getCode();
        }
    }

    具体参数请参考 地理/逆地理编码

    获取逆地理编码

    use GuzzleHttp\Client;
    
    public function getRegeo($location, $poitype, $radius = 1000, $type = 'all', $batch = false, $roadlevel = 0, $format = 'json')
    {
        $url = 'https://restapi.amap.com/v3/geocode/regeo';
        if (!\in_array(\strtolower($format), ['xml', 'json'])) {
            return 'Invalid response format: '.$format;
        }
        $radius = intval($radius);
        if ($radius < 0 || $radius > 3000) {
            return 'Invalid radius value(0~3000): '.$radius;
        }
        $query = array_filter([
            'key' => $this->key,
            'location' => $location,
            'poitype' => $poitype,
            'radius' => $radius,
            'extensions' => $type,
            'batch' => $batch,
            'roadlevel' => $roadlevel,
            'output' => $format,
        ]);
        try {
            $client = new Client();
            $response = $client->get($url, [
                'query' => $query,
            ])->getBody()->getContents();
            return 'json' === $format ? \json_decode($response, true) : $response;
        } catch (\Exception $e) {
            return $e->getCode(;
        }
    }

    具体参数请参考 地理/逆地理编码

    关于极客返利

    极客返利 是由我个人开发的一款网课返利、返现平台。包含 极客时间返现、拉勾教育返现、掘金小册返现、GitChat返现。目前仅包含这几个平台。后续如果有需要可以考虑其他平台。 简而言之就是:你买课,我返现。让你花更少的钱,就可以买到课程。

    https://geek.laravelcode.cn

    https://geek.idaka.ink

    版权许可

    本作品采用 知识共享署名 4.0 国际许可协议 进行许可。

    转载无需与我联系,但须注明出处,注明文章来源 PHP 使用高德接口获取地理编码和逆地理编码

    联系我

    编程怪事
    展开全文
  • CLGeocoder:地理编码器,其中Geo是地理的英文单词Geography的简写。 1.使用CLGeocoder可以完成“地理编码”和“反地理编码地理编码:根据给定的地名,获得具体的位置信息(比如经纬度、地址的全称等) 反地理...

    CLGeocoder:地理编码器,其中Geo是地理的英文单词Geography的简写。

    1.使用CLGeocoder可以完成“地理编码”和“反地理编码”

    地理编码:根据给定的地名,获得具体的位置信息(比如经纬度、地址的全称等)

    反地理编码:根据给定的经纬度,获得具体的位置信息

     

    (1)地理编码方法

      - (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler; 

    (2)反地理编码方法

      - (void)reverseGeocodeLocation:(CLLocation *)location completionHandler:(CLGeocodeCompletionHandler)completionHandler;

     

    2.CLGeocodeCompletionHandler

      当地理\反地理编码完成时,就会调用CLGeocodeCompletionHandler

      

    这个block传递2个参数

    error :当编码出错时(比如编码不出具体的信息)有值

    placemarks :里面装着CLPlacemark对象

     

    3.CLPlacemark

    说明:CLPlacemark的字面意思是地标,封装详细的地址位置信息

    地理位置     @property (nonatomic,strong) CLLocation *location;  

    区域       @property (nonatomic,strong) CLRegion *region;

    详细的地址信息   @property (nonatomic, strong) NSDictionary *addressDictionary;

    地址名称    @property (nonatomic, copy) NSString *name;

    城市      @property (nonatomic,copy) NSString *locality;






    #import <CoreLocation/CoreLocation.h>


    @property(nonatomic,strong)CLGeocoder * geocoder;

    @property(nonatomic,strong)CLLocation * location1;


    #pragma mark 根据地名确定地理坐标

    -(void)getCoordinateByAddress:(NSString *)address{

        //地理编码

        [_geocodergeocodeAddressString:addresscompletionHandler:^(NSArray *placemarks,NSError *error) {

           //取得第一个地标,地标中存储了详细的地址信息,注意:一个地名可能搜索出多个地址

            CLPlacemark *placemark=[placemarksfirstObject];

            

            self.location1=placemark.location;//位置

            CLRegion *region=placemark.region;//区域

            NSDictionary *addressDic= placemark.addressDictionary;//详细地址信息字典,包含以下部分信息

            NSLog(@"%@",self.location1);       

        }];  

         }


    #pragma mark 根据地理坐标确定地名
    -(void)getAddressByCoordinate:(NSString *)latitudeText  with:(NSString *)longtitudeText{

      CLLocationDegrees latitude=[latitudeTextdoubleValue];

        CLLocationDegrees longitude=[longtitudeTextdoubleValue];

        

        CLLocation *location=[[CLLocationalloc]initWithLatitude:latitudelongitude:longitude];

        //2.反地理编码

        [self.geocoderreverseGeocodeLocation:locationcompletionHandler:^(NSArray *placemarks,NSError *error) {

             if (error||placemarks.count==0) {

                 self.reverdeDetailAddressLabel.text=@"你输入的地址没找到";

             }else//编码成功

             {

                 //显示最前面的地标信息

                 CLPlacemark *firstPlacemark=[placemarksfirstObject];

                 self.reverdeDetailAddressLabel.text=firstPlacemark.name;

                //经纬度

                 CLLocationDegrees latitude=firstPlacemark.location.coordinate.latitude;

                CLLocationDegrees longitude=firstPlacemark.location.coordinate.longitude;

                 self.latitudeField.text=[NSStringstringWithFormat:@"%.2f",latitude];

                 self.longitudeField.text=[NSStringstringWithFormat:@"%.2f",longitude];

            }

    }];




    展开全文
  • 地理编码——获取地理位置

    千次阅读 2014-11-26 15:48:55
    我们可以参考百度,阿里等的web服务api进行逆地理编码。 阿里:http://gc.ditu.aliyun.com/jsdoc/geocode_api.html#a1_5 百度:http://developer.baidu.com/map/index.php?title=webapi/guide/

    具体需求:根据地理坐标:39.831782,116.347120,向用户展示地理位置:丰台区

    我们可以参考百度,阿里等的web服务api进行逆地理编码。

    阿里:http://gc.ditu.aliyun.com/jsdoc/geocode_api.html#a1_5

    百度:http://developer.baidu.com/map/index.php?title=webapi/guide/webservice-geocoding

    百度地图Geocoding API是一套免费对外开放的API,无使用次数限制。但是它必须首先申请一个ak(即获取密钥),返回的数据支持json和xml格式。

    它的逆地理编码请求如下:

    http://api.map.baidu.com/geocoder/v2/?ak=E4805d16520de693a3fe707cdc962045&callback=renderReverse&location=39.983424,116.322987&output=json&pois=1
    http://api.map.baidu.com/geocoder/v2/?ak=E4805d16520de693a3fe707cdc962045&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=1


    阿里的就相对简单一些,逆地理编码请求如下:

    http://gc.ditu.aliyun.com/regeocoding?l=39.938133,116.395739&type=001
    其中的type 001 (100代表道路,010代表POI,001代表门址,111可以同时显示前三项)它返回的结果如下:

    {
    "queryLocation":[39.938133,116.395739],
    "addrList":[{
                "type":"doorPlate",
                "status":1,
                "name":"地安门外大街31号",
                "admCode":"110102",
                "admName":"北京市,西城区",
                "nearestPoint":[116.39573,39.93813],
                "distance":0.000
                }]
    }
    如果只获得行政区域,可以使用:
    http://recode.ditu.aliyun.com/dist_query?l=39.938133,116.395739
    返回结果如下:

    {
        "report":0,
        "ad_code":"110102",
        "dist":"中国,北京市,北京城区,西城区"
    }
    接下来,就可以使用HttpURLConnection来获得行政区域,代码示例如下:

    @Test
    	public void rtnArea() throws Exception{
    		//type 001 (100代表道路,010代表POI,001代表门址,111可以同时显示前三项)
    		String path="http://recode.ditu.aliyun.com/dist_query?l=39.938133,116.395739";
    		//参数直接加载url后面
    		URL url=new URL(path);
    		HttpURLConnection conn=(HttpURLConnection) url.openConnection();
    		conn.setRequestMethod("GET");
    		conn.setConnectTimeout(20000);
    		conn.setDoOutput(true);
    		conn.connect();
    		 InputStream ins =  conn.getInputStream();  
    		 String charset = "gb2312"; 
    		 InputStreamReader inr = new InputStreamReader(ins, charset);  
    		 BufferedReader br = new BufferedReader(inr);  
    		 String line = "";  
    		 StringBuffer sb = new StringBuffer();   
    		 do{
    			 sb.append(line);  
    			 line = br.readLine(); 
    		 }while(line != null);
    		 JSONObject obj = JSON.parseObject(sb.toString());
    		 String dist = obj.getString("dist");
    		 System.out.println(dist);//返回结果为“中国,北京市,北京城区,西城区”
    	}
    注意这里的编码为“gb2312”,不是“utf-8”。





    展开全文
  • 地理编码

    千次阅读 2019-01-23 22:43:47
    2.地理编码与逆地理编码的比较。 3.地理编码的过程 ① 构建或获取参考数据 ② 确定地址定位器样式 ③ 构建地址定位器 ④ 定位地址 ⑤ 发布或维护地址定位器 二.使用arcgis实现地理编码 准备: 软件...

    一.实验背景

    1.什么是地理编码?

    地理编码是指将坐标对、地址或地名等位置描述转换为地球表面上某位置的过程。

    2.地理编码与逆地理编码的比较。

    bijiao

    3.地理编码的过程

    ① 构建或获取参考数据
    ② 确定地址定位器样式
    ③ 构建地址定位器
    ④ 定位地址
    ⑤ 发布或维护地址定位器

    二.使用arcgis实现地理编码

    准备:

    软件:arcmap,ArcCataloge
    准备数据:atlanta.gdb(美国 亚特兰大地理数据)

    具体操作:

    一.创建地址定位器.

    1.在arccataloge中导入atlanta数据,右键单击内容选项卡的空白区域,然后单击新建 > 地址定位器。
    在这里插入图片描述
    2.选择美国双向
    在这里插入图片描述
    3.导入街道数据
    在这里插入图片描述
    4.选择主链表
    在这里插入图片描述

    5.选择输出地址
    在这里插入图片描述

    6.创建成功
    在这里插入图片描述

    7.地理定位器创建完成。
    注:建立复合地址定位器与上述步骤基本一致

    二:查找地址

    1.打开arcmap
    2.导入街道数据

    单个进行地理编码:
    方法1使用“地理编码”工具条查找地址

    1. 如果地理编码 工具条不可见,则单击自定义 > 工具条 > 地理编码添加该工具条。
      在这里插入图片描述

    2. 单击地理编码工具条左侧的管理地址定位器下拉箭头,然后单击 <管理地址定位器>。
      在这里插入图片描述

    3. 添加我们定义的Atlanta地理定位器。
      在这里插入图片描述

    4. 输入地址,例如输入150 Linden Ave NE Atlanta查找。

    5. 将出现一个工具提示,其显示定位器返回的完整地址,并且地图上的该点位置将会闪烁。
      在这里插入图片描述

    6. 添加点,就能将该对应的位置信息对应的点在地图上表示出来,也可以选着添加标注点,那么该点在地图上将会标注出来。
      在这里插入图片描述
      在这里插入图片描述

    方法2使用“查找”对话框查找地址

    1. 单击基础工具 工具条上的查找按钮 。

    2. 在弹出的查找 对话框中,选择位置选项卡,然后选择atlanta定位器。
      在这里插入图片描述

    3. 在full address栏中 输入位置信息,单击查找查找,例如在full address栏中输入300 Peachtree St NE 30303进行查找,添加标注,就能将该点在地图上表示出来。
      在这里插入图片描述

    批量地理编码

    1. 打开工具栏,选择地理编码工具,选着对地址进行地理编码。
      在这里插入图片描述

    2. 导入要添加的地址表,并且添加atlanta地址定位器,例如我这里输入的表是customers。
      在这里插入图片描述

    3.将地理编码结果图层添加到地图。其中显示已添加到 customers要素类的点。
    在这里插入图片描述

    三.重新匹配地址

    1. 选择“地理编码结果:Atlanta_Results”图层(位于内容列表中),然后在地理编码工具条上单击查看/重新匹配地址按钮 。

    2. 将打开交互重新匹配对话框,查看不匹配的地址。
      在这里插入图片描述

    3. 通过选取地图中的点位置来重新匹配地址。

    • 选中‘从图中选取地址’,将会出现一个一个中心带有蓝点的十字符号。将鼠标光标悬停在希望地址匹配的位置上。
    • 右键单击位置,然后单击选取地址
      在这里插入图片描述
    • 现在不匹配的地址便会与刚选取的点位置相匹配。

    三:总结

    地理编码:把地名转换成位置信息
    作用:把文字描述的 位置转换成地图上的经纬度;
    地理编码的用途:从简单的数据分析到业务和客户管理再到信息发布方法,地理编码的应用范围非常广泛。地址经过地理编码后,便可在空间中显示各地址的位置,还可识别信息中所包含的模式。要实现此目的,只需查看信息或使用ArcGIS提供的某些分析工具即可。此外,也可基于特定参数显示地址信息,这样用户便可对信息执行进一步的分析。

    四:参考

    ArcGIS帮助文档:http://desktop.arcgis.com/zh-cn/arcmap/10.3/guide-books/geocoding/what-is-geocoding.htm

    扫码关注公众号,了解更多文章:
    三山半落,一水中分。地纵经纬,理入乾坤。
    ~兰州交通大学地理信息科学爱好者集散地,欢迎你的加入~

    在这里插入图片描述

    展开全文
  • 库版本 package version vue 2.6.0 vant 2.12.6 @amap/amap-jsapi-loader ...H5中获得用户位置授权后获取终端经纬度和地点名称,PC/移动端适用。...AMap.Geocoder 地理编码与逆地理编码 AMap.Geolocat
  • 百度地图定位+反地理编码获取POIList
  • 所谓反地理编码,指的是通过经纬度、海拔等信息获取地理位置信息。 在iOS上使用地理编码和反地理编码,如果是手动输入经纬度,是不需要获取用户授权的,但是一般是获取用户的经纬度,然后再通过地理编码实现精确...
  • CLGeocoder地理编码与逆地理编码

    千次阅读 2015-09-11 16:21:45
    CLGeocoder使用CLGeocoder可以完成“地理编码”和“逆地理编码地理编码:根据给定的地名,获得具体的位置信息(比如经纬度、地址的全称等) 逆地理编码:根据给定的经纬度,获得具体的位置信息地理编码方法
  • 高德地理编码和逆地理编码区别

    千次阅读 2016-05-27 09:13:42
    地理编码又称地址匹配,指的是从已知的地址描述到对应的经纬 度坐标的转换,即根据地址信息,获取地址所对应的点坐标等。 逆地理编码即地址解析服务,具体是指从已知的经纬度坐标到对 应的地址描述(如省市、街区、...
  • 高德地图地理编码和逆地理编码

    千次阅读 2017-03-14 19:22:52
    最近在使用到高德地图这块地理编码和逆地理编码,感觉非常好用. 一,首先要导入高德地图SDK,高德开放者平台有详细的介绍,和如何获取key的方式 二,地理编码和逆地理编码比较简单直接上代码了,有些重要的意见通过注释...
  • 其中的地理编码就是通过给定的地名,获取具体的位置的信息 反地理编码就是根据给定的经纬度去获取具体的位置信息。 地理编码的应用如下 #import "ViewController.h" #import @interface ViewController () //输入的...
  • CLGeocoder:地理编码器,其中Geo是地理的英文单词Geography的简写。 1.使用CLGeocoder可以完成“地理编码”和“反地理编码地理编码:根据给定的地名,获得具体的位置信息(比如经纬度、地址的全称等) 反地理...
  • 何为地理编码?何为逆地理编码地理编码:即地址解析,由详细到街道的结构化地址得到百度经纬度信息。 逆地理编码:即逆地址解析,由百度经纬度信息得到结构化地址信息。 然后鄙视一下百度地图api文档的作者,...
  • Python实现(百度地图API)地理编码与逆地理编码

    千次阅读 热门讨论 2019-01-20 10:54:42
    地理编码: 地理编码是指将地址或地名等位置描述转换为经纬度坐标的过程。得到的坐标信息,可以用于制图或空间分析操作。(出于国家安全考虑,公布出来的坐标信息一般是经过加偏的。) 通过地理编码可快速查找到...
  • 百度地图定位 + 反地理编码一.百度地图定位1.百度定位配置代码LocationClientOption option = new LocationClientOption(); option.setLocationMode(LocationClientOption.LocationMode.Hight_Accuracy);//设置定位...
  • 谷歌地图Geocoding说明:内容主要来自谷歌官网的文档,谷歌地图android api地理和反地理编码反应迟钝内容有时不准确,这里使用的googlemap的webapi接口。嗯,需要vpn这个不多做说明了... 什么是地理编码? ...
  • 地理编码即用经纬度获取详细的地理信息 反地理编码即用模糊的地理信息获取相应的地理信息 两点之间的距离的计算 // // ViewController.m // 2014_11_03_CoreLocation的使用 // // Created by Mac10.9 on 14-...
  • uniapp小程序获取地理位置之经纬度逆序编码实现获取城市信息
  • iOS获取经纬度 地理位置编码编码

    千次阅读 2015-12-12 13:33:10
    要实现地图、导航功能,往往需要先熟悉定位...在Core Location中主要包含了定位、地理编码(包括反编码)功能。 定位是一个很常用的功能,如一些地图软件打开之后如果用户允许软件定位的话,那么打开软件后就会自动锁定
  • 102 地理编码和反编码

    2015-11-05 17:24:21
    1.地理编码:CLGeocoder对象传入地名即可。 // 1.创建地理编码对象 _geocoder = [[CLGeocoder alloc] init]; // 2.利用地理编码对象编码 // 根据传入的地名获取该地址对应的经纬度信息 [self.geocoder ...
  • 地理编码逆编码技术

    2020-06-16 15:07:59
    1 插件商店 插件商店为LSV(LocaSpaceViewer)的扩展应用中心。插件商店会定期更新各种实用小工具,方便广大朋友使用。插件功能可以独立获取授权,购买授权后,可以在LSV软件内直接使用。...由于地理编码与逆地理编码
  • Demo说明: 根据输入的经伟度坐标,查询获取对应所在地址位置;可通过该功能,将结构化地址(省/市/区/街道/门牌号)解析为对应的位置坐标,逆地理编码服务...与地理编码和路由服务相结合,反向地理编码是基于移动.
  • OC地理编码和反编码

    2016-01-15 14:33:15
    OC 地理编码, CoreLocation
  • 地理编码

    2016-01-04 11:03:31
    * 地理编码对象 */ @property (nonatomic ,strong) CLGeocoder *geocoder; //pragma mark - 反地理编码 - (IBAction)reverseGeocode; @property (weak, nonatomic) IBOutlet UITextField *longtitudeField; ...
  • 在项目中需要完成一个功能,选择某一个城市的名字,...第一步 输入想要搜索的名字,比如北海市,然后发起正地理编码搜索。GeocodeSearch("北海市"); //发起正地理编码搜索 public void GeocodeSearch(String city) {
  • 1. 获取用户当前所在城市信息 ...通过百度地图逆地理API,将获取的经度和纬度转化为城市名称; 1.1 获取定位信息(经度和纬度) 获取用户位置前,需要用户允许,也就是需要弹出弹窗获取用户权限,需要在...
  • 由于专业需要,经常接触一些地理处理的工具包,文档都是英文... 处理地理数据经常会涉及到地理编码的问题。地理编码指的是将地理信息转化成坐标关系的过程。分为正向和反向的编码。正向的是指将地址信息转换为坐标...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,793
精华内容 9,517
关键字:

如何获取地理编码