精华内容
下载资源
问答
  • 地理编码和逆地理编码 首先说说,何为地理编码,地理编码就是 给你一个地名,得到对应的经纬度(纬经度,高德地图实际是纬经度) 知道地理编码,那么逆地理编码就不难理解了。 逆地理编码就是给出经纬度,得到...
    地理编码逆地理编码

    首先说说,何为地理编码,
    地理编码就是 给你一个地名,得到对应的经纬度(纬经度,高德地图实际是纬经度)

    知道地理编码,那么逆地理编码就不难理解了。
    逆地理编码就是给出经纬度,得到对应的地名。


    下面通过代码来实现,如论是地理编码还是逆地理编码都需要初始GeocoderSearch 已经设置对应的监听setOnGeocoderSearchListerner
    /**
     * 初始化地理逆编码
     */
    private void initGeocoderSearch() {
        geocoderSearch = new GeocodeSearch(mContext);
        geocoderSearch.setOnGeocodeSearchListener(this);
    }

    设置setOnGeocoderSearchListerner监听后,需要实现以下两个方法onRegeocodeSearched和onGeocodeSearch方法,这两个方法,需要在调用对应的方法后,会自动调用
    其中onRegeocodeSearched逆地理编码查询
    onGeocodeSearch地理编码查询



    首先是逆地理编码的代码实现:
    /**
     * 响应逆地理编码
     */
    public void getAddress(final LatLonPoint latLonPoint) {
        RegeocodeQuery query = new RegeocodeQuery(latLonPoint200,
                GeocodeSearch.AMAP);// 第一个参数表示一个Latlng,第二参数表示范围多少米,第三个参数表示是火系坐标系还是GPS原生坐标系
        geocoderSearch.getFromLocationAsyn(query);// 设置异步逆地理编码请求
    }

    响应逆地理编码,rCode位1000表示成功
    /**
     * 逆地理编码回调
     */
    @Override
    public void onRegeocodeSearched(RegeocodeResult resultint rCode) {
        if (rCode == 1000) {
            if (result != null && result.getRegeocodeAddress() != null
                    && result.getRegeocodeAddress().getFormatAddress() != null) {
                addressName result.getRegeocodeAddress().getFormatAddress();
                String province result.getRegeocodeAddress().getProvince();//省
                String township result.getRegeocodeAddress().getTownship();//乡镇
     
            }
        } else {
            mTvCarAddress.setText("未知地址");
        }
    }

    如何去掉省、市、镇使用replace,代码如下
    addressName addressName.replace(province"").replace(township"");
    这样得到的地址是去掉省、市、镇的



    GeoCoder(地理编码)代码实现
    /**
     * 响应地理编码
     */
    public void getLatlon(final String name) {
       GeocodeQuery query = new GeocodeQuery(name"010");// 第一个参数表示地址,第二个参数表示查询城市,中文或者中文全拼,citycode、adcode,
       geocoderSearch.getFromLocationNameAsyn(query);// 设置同步地理编码请求
    }

    响应地理编码,rcode为1000表示成功,能得到
    /**
     * 地理编码查询回调
     */
    @Override
    public void onGeocodeSearched(GeocodeResult resultint rCode) {
        dismissDialog();
        if (rCode == 1000) {
            if (result != null && result.getGeocodeAddressList() != null
                    && result.getGeocodeAddressList().size() 0) {
                GeocodeAddress address result.getGeocodeAddressList().get(0);
                addressName "经纬度值:" address.getLatLonPoint() "\n位置描述:"
                       address.getFormatAddress();
                ToastUtil.show(GeocoderActivity.thisaddressName);
            } else {
                ToastUtil.show(GeocoderActivity.thisR.string.no_result);
            }
        } else {
            ToastUtil.showerror(thisrCode);
        }
    }




    展开全文
  • 逆地理编码

    2019-09-17 00:00:44
    地理位置 :%@\n country:%@\n postalCode:%@\n ISOcountryCode:%@\n ocean:%@\n inlandWater:%@\n locality:%@\n subLocality:%@ \n administrativeArea:%@\n subAdministrativeArea:%@\n thoroughfare:%@\n ...

    -(void)geolocation{

        //22.540681,=114.061324

        CLLocationCoordinate2D coordinate;

        coordinate.latitude35.691461

        coordinate.longitude = 108.3994845;

        CLLocation *newLocation=[[CLLocation alloc]initWithLatitude:coordinate.latitude longitude: coordinate.longitude];

        CLGeocoder *geocoder=[[CLGeocoder alloc] init];

        [geocoder reverseGeocodeLocation:newLocation

                       completionHandler:^(NSArray *placemarks,

                                           NSError *error)

         {

             CLPlacemark *placemark=[placemarks objectAtIndex:0];

             NSLog(@"地理位置:%@\n country:%@\n postalCode:%@\n ISOcountryCode:%@\n ocean:%@\n inlandWater:%@\n locality:%@\n subLocality:%@ \n administrativeArea:%@\n subAdministrativeArea:%@\n thoroughfare:%@\n subThoroughfare:%@\n",

                   placemark.name,

                   placemark.country,

                   placemark.postalCode,

                   placemark.ISOcountryCode,

                   placemark.ocean,

                   placemark.inlandWater,

                   placemark.administrativeArea,

                   placemark.subAdministrativeArea,

                   placemark.locality,

                   placemark.subLocality,

                   placemark.thoroughfare,

                   placemark.subThoroughfare);

         }];

        

    }

    转载于:https://my.oschina.net/u/2564478/blog/667543

    展开全文
  • 与iOS定位相关的一些代码,主要就是定位、地理编码、逆地理编码的相关操作。值得注意的是iOS8以上系统定位的相关设置。
  • 逆地理编码.html

    2020-01-03 10:09:22
    利用高德地图api做逆地理编码大量数据解译工作,1分钟大概可以处理1000条数据,能节省大量的人工重复工作,提高工作效率
  • CLGeocoder地理编码与逆地理编码

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

    CLGeocoder

    使用CLGeocoder可以完成“地理编码”和“逆地理编码”
    地理编码:根据给定的地名,获得具体的位置信息(比如经纬度、地址的全称等)
    逆地理编码:根据给定的经纬度,获得具体的位置信息

    地理编码方法
    - (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler;

    地理编码:地名 -> 经纬度

    
    - (void)geocode{
        // 使用 CLGeocoder 进行地理编码 将位置信息(字符串)转为经纬度
        // 开始编码
        [self.geoCoder geocodeAddressString:@"北京市" completionHandler:^(NSArray *placemarks, NSError *error) {
            if (error || placemarks.count < 1) {
                // 找不到地址,无法获取地理编码对应的经纬度
            }else {// 编码成功(找到了具体的经纬度位置信息)
                // 输出查询到所有地标信息
                for (CLPlacemark *placeMark in placemarks) {
                    NSLog(@"name=%@, locality=%@, country=%@ postalCode=%@", placeMark.name, placeMark.locality, placeMark.country, placeMark.postalCode);
                }
                // 获取数组中第一个元素的地标信息- CLPlacemark(地标类)
                CLPlacemark *firstPlaceMark = placemarks.firstObject;
                NSString *name = firstPlaceMark.name;
                CLLocationDegrees latitude = firstPlaceMark.location.coordinate.latitude;// 纬度
                CLLocationDegrees longitude = firstPlaceMark.location.coordinate.longitude;// 经度
            }
        }];
    
    }
    

    逆地理编码方法
    - (void)reverseGeocodeLocation:(CLLocation *)location completionHandler:(CLGeocodeCompletionHandler)completionHandler;

    逆地理编码:经纬度 -> 地名

    - (void)reverseGeocode{
        // 先给一个经纬度
        CLLocation *location = [[CLLocation alloc]initWithLatitude:40 longitude:119];
        // 开始逆地理编码
        [self.geoCoder reverseGeocodeLocation:location completionHandler:^(NSArray *placemarks, NSError *error) {
            if (error || placemarks.count < 1) {
                // 给的经纬度可能找不到,逆地理编码不成功
            } else {//  编码成功(找到了具体的位置信息)
                // 输出查询到的所有地标信息
                for (CLPlacemark *placeMark in placemarks) {
                    NSLog(@"name=%@ locality=%@ country=%@ postalCode=%@", placeMark.name, placeMark.locality, placeMark.country, placeMark.postalCode);
                }
                // 获取数组中第一个元素的地标信息
                CLPlacemark *placeMark = placemarks.firstObject;
                NSLog(@"%@",[placeMark.addressDictionary[@"FormattedAddressLines"] firstObject]);
            }
        }];
    }
    

    CLGeocodeCompletionHandler

    当地理\反地理编码完成时,就会调用CLGeocodeCompletionHandler
    typedef void (^CLGeocodeCompletionHandler)(NSArray *placemarks, NSError *error);

    这个block传递2个参数
    error :当编码出错时(比如编码不出具体的信息)有值
    placemarks :里面装着CLPlacemark对象

    CLPlacemark

    CLPlacemark的字面意思是地标,封装详细的地址位置信息
    @property (nonatomic, readonly) CLLocation *location;
    地理位置
    @property (nonatomic, readonly) CLRegion *region;
    区域
    @property (nonatomic, readonly) NSDictionary *addressDictionary;
    详细的地址信息
    @property (nonatomic, readonly) NSString *name;
    地址名称
    @property (nonatomic, readonly) NSString *locality;
    城市

    展开全文
  • Python实现(百度地图API)地理编码与逆地理编码

    千次阅读 热门讨论 2019-01-20 10:54:42
    地理编码: 地理编码是指将地址或地名等位置描述转换为经纬度坐标的过程。得到的坐标信息,可以用于制图或空间分析操作。...由于逆地理编码服务是根据坐标返回地址信息,所以前期提供给逆地理服务引擎...

    地理编码:

    地理编码是指将地址或地名等位置描述转换为经纬度坐标的过程。得到的坐标信息,可以用于制图或空间分析操作。(出于国家安全考虑,公布出来的坐标信息一般是经过加偏的。)

    通过地理编码可快速查找到各类位置。比如建筑物名称、地址、位置描述、名胜景区等等。

    逆地理编码:

    逆地理编码可将经纬度坐标转换为详细、标准的地址信息。由于逆地理编码服务是根据坐标返回地址信息,所以前期提供给逆地理服务引擎的数据有下面几类:行政区划、道路、POI、AOI、门址等。行政区划数据可以告诉用户当前这个坐标点所属的省市区,道路数据保存的是所有的道路坐标点串,POI/AOI记录的是重要的点和面信息(POI是指兴趣点,AOI是指兴趣面),门址一般是指某某门牌号信息。

    逆地理服务实际是一个空间查询的过程,通过输入经纬度坐标,查找这个坐标所在的行政区划,所属道路,最近的POI/AOI等。这些数据一般比较庞杂,所以合理组织这些数据结构非常关键。

    相互关系如下图示:


                                      


    Python具体实现:

    思路:首先申请百度API的key,通过调用接口就可实现操作,需要注意的是,地理编码返回的是百度坐标。而进行逆向地理编码地址查询所输入的为WGS84坐标。

    Python地理编码:

    from urllib.request import urlopen,quote
    import json
    import coordinateTransform
    
    address="西安市"
    ak='FA8atAaqd1wajikD56lPqtiaNCleCeyz'
    url='http://api.map.baidu.com/geocoder/v2/?address='
    output = 'json'
    #ak = '你的ak'#需填入自己申请应用后生成的ak
    add = quote(address)#本文城市变量为中文,为防止乱码,先用quote进行编码
    url2 = url+add+'&output='+output+"&ak="+ak
    req = urlopen(url2)
    res  = req.read().decode()
    temp = json.loads(res)
    lng = temp['result']['location']['lng']  # 获取经度
    lat = temp['result']['location']['lat']  # 获取纬度
    list1=[lng,lat]
    print('百度坐标为:',list1)
    

    结果图示:

                                           

     

    Python逆地理编码:

    import requests
    address = '39.83637707633588,115.58006911450369'
    # address=str(i[0])+','+str(i[1])
    url = 'http://api.map.baidu.com/geocoder?output=json&key=f247cdb592eb43ebac6ccd27f796e2d2&location=' + str(address)
    response = requests.get(url)
    answer = response.json()
    print(answer)

    结果图示:

                 

    Python逆地理编码返回的是字典类型数据,可以通过解析字典的方式获取想要的信息。


                                                                                                                ---------------------中遥信息数据中心支持 

    展开全文
  • 批量地理编码和逆地理编码工具(高德)10.2V1.0.rar
  • 高德地理编码和逆地理编码区别

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

    千次阅读 2017-03-14 19:22:52
    最近在使用到高德地图这块地理编码和逆地理编码,感觉非常好用. 一,首先要导入高德地图SDK,高德开放者平台有详细的介绍,和如何获取key的方式 二,地理编码和逆地理编码比较简单直接上代码了,有些重要的意见通过注释...
  • 1、什么是地理编码  地理编码指将地名的详细地址以...将地理坐标转换为地址信息的过程称之为逆地理编码。如图1.1所示为地理编码和逆地理编码的关系。 图1.1 地理编码与逆地理编码 2、为什么要使用地理编码 ...
  • 于是乎找到了高德的逆地理编码接口,看了看正好符合我的需求。然而使用起来并不顺利! 由于我使用的Retrofit,正常情况下都是直接将json自动解析成实体类,但是由于接口返回的数据格式不规范,导致我遇见的一些问题...
  • 只要使用了 google 地图的逆地理编码就会知道 google 提供的逆地理 API 返回的结果是一个 JSON 数组,这个数组的内容是随机性的, 并不是固定的, 如果不知道规律的话, 获取定位的信息还是比较麻烦的 在参考了 google ...
  • 何为逆地理编码? 地理编码:即地址解析,由详细到街道的结构化地址得到百度经纬度信息。 逆地理编码:即逆地址解析,由百度经纬度信息得到结构化地址信息。 然后鄙视一下百度地图api文档的作者,文档的功能介绍...
  • PHP 使用高德接口获取地理编码和逆地理编码 产品介绍 地理编码/逆地理编码 API 是通过 HTTP/HTTPS 协议访问远程服务的接口,提供结构化地址与经纬度之间的相互转化的能力。 适用场景 地理编码:将详细的结构化地址...
  • 逆地理编码指的是:将经纬度转换成地理位置信息,如地名、所在的省份或城市等 百度地图提供了相应的API,可以方便调用。相应的说明文档如下: 正地理编码 逆地理编码 具体API的参数可以查看相应的“服务文档”: ...
  • 高德地图之逆地理编码

    万次阅读 热门讨论 2017-01-09 13:19:21
    上一篇讲述了地理编码的使用,没看的朋友可以看看http://blog.csdn.net/hedong_77/article/details/54287292,Ok,我们继续来看你地理编码,首先要理解它的概念,逆地理编码,又称地址解析服务,是指从已知的经纬度...
  • ​ 在一些比赛中,我们经常需要将地理位置转化为经纬度坐标(地理编码)或是将经纬度坐标转化为对应的地理位置(逆地理编码)。对于这类问题,一般需要调用某个地图的API来实现,这里以高德地图的API为例,介绍如何...
  • iOS 开发 百度地图 逆地理编码

    千次阅读 2016-06-21 15:25:23
    对于APP来说,绝大多数需要用的就是定位后进行逆地理编码,获取城市,获取位置。 不得不说,百度LBS的逆地理编码这一块,是不是搞出来点不好的东西。 要做百度地图的逆地理编码功能,首先要启动百度服务,这个不...
  • 阿里云 逆地理编码

    2019-01-04 15:29:47
    阿里云逆地理编码里有示例代码,免费的简单方便,由于导错了一个包耽搁了时间,记录下来以防止以后再有类似错误 package com.ali.sms; import java.util.HashMap; import java.util.Map; import org.apache....
  • 百度地图api-全球逆地理编码

    千次阅读 2019-04-19 20:30:26
    全球逆地理编码服务 (又名Geocoder)是一类Web API接口服务; 逆地理编码服务提供将坐标点(经纬度)转换为对应位置信息(如所在行政区划,周边地标点分布)功能。 服务同时支持全球行政区划位置描述及周边地标POI...
  • 百度地图:逆地理编码

    千次阅读 2019-08-01 17:45:01
    逆地理编码: 经纬度,转省市区,城市行政区域代码 http://api.map.baidu.com/reverse_geocoding/v3/?ak=自己百度地图的ak&output=json&coordtype=wgs84ll&location=维度,经度 GET请求方式 注意...
  • 逆地理编码及关键技术

    千次阅读 2017-08-17 21:00:03
    我们应用电子地图查询信息,有时候希望获取点位坐标,有时候希望得到一个准确的地址,这在地图底层服务里面实际是用到了地理编码和逆地理编码。当输入地址而返回坐标时,也就是当我们输入一个建筑物名字或一个地址的...
  • 高德批量逆地理编码(react)

    千次阅读 2019-07-08 15:40:10
    高德批量逆地理编码(react) react 代码 getaddress = (device,_this) => { //console.log(device[0]) AMap.plugin('AMap.Geocoder', function () { var geocoder = new AMap.Geocoder({ radiu...
  • 本次使用的高德地图web服务端api中的逆地理编码 如果geoip获取地理位置可以满足你的需求可跳转:https://blog.csdn.net/qq175023117/article/details/85091674 产品介绍 地理编码/逆地理编码 API 是通过 ...
  • 百度地图开放平台地理编码服务和逆地理编码服务的api文档地址:http://lbsyun.baidu.com/index.php?title=webapi/guide/webservice-geocodingGeocoding API 是一类接口,用于提供从地址到经纬度坐标或者从经纬度坐标...
  • 百度地图 逆地理编码

    2018-03-15 00:26:00
    官方说明链接: ...测试: 逆地理编码 http://api.map.baidu.com/geocoder/v2/?callback=renderReverse&location=39.934,116.329&output=jso...
  • 百度地图WEB服务-逆地理编码使用心得 上一篇博文写了我开发项目中最长用的正地理编码接口的博文,这次想总结一下逆地理编码的使用情况,当我们请求百度地图WEB服务中接口得到的返回数据时会发现所有对地理位置的描述...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,123
精华内容 1,249
关键字:

逆地理编码