如何根据纬度和经度获取城市名称(转)

我想通过某种方法方式获取有关纬度和经度的城市信息
解决方法:

    谷歌地图api, 但是不适合国内使用呢
    百度地图的 “全球逆地理编码服务” 接口
    高德地图的 "逆地理编码"接口
    易客云的LBS逆地理编码接口

上面3个服务商的接口能实现的功能, 将经纬度转换为详细结构化的地址,且返回附近周边的POI、AOI信息。
高德和百度接口返回的字段都是一样的

{
    "status":"1",
    "regeocode":{
        "addressComponent":{
            "city":[

            ],
            "province":"北京市",
            "adcode":"110101",
            "district":"东城区",
            "towncode":"110101004000",
            "streetNumber":{
                "number":"26号",
                "location":"116.402149,39.948538",
                "direction":"南",
                "distance":"79.338",
                "street":"安定门西大街"
            },
            "country":"中国",
            "township":"安定门街道",
            "businessAreas":[
                {
                    "location":"116.406629,39.959114",
                    "name":"安定门",
                    "id":"110101"
                },
                {
                    "location":"116.383776,39.955415",
                    "name":"德胜门",
                    "id":"110102"
                },
                {
                    "location":"116.421256,39.959266",
                    "name":"和平里",
                    "id":"110101"
                }
            ],
            "citycode":"010"
        },
        "formatted_address":"北京市东城区安定门街道安定门西大街北二环城市公园"
    },
    "info":"OK",
    "infocode":"10000"
}

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44

返回的数据很详细, 不过这些地图商家最近都收费了, 而且是5万一年, 不管你用几次, 都会收到电话, 让付费, 不然没法用, 我们只是一个小企业,如果这么贵我们只能不予考虑

还好我需要的不是精准的街道级定位, 只要是能获取到经纬度所对应的城市即可,
那易客api的地理解析接口就很合适了, 而且返回字段也兼容高德和百度

该接口是将坐标点(经纬度)转换为对应城市信息(区县级), 返回格式支持:json、 xml、 txt。
需要注意的是:该接口仅支持国内坐标。
返回JSON

{
    "errcode":0,
    "errmsg":"success",
    "nums":63496,
    "regeocode":{
        "addressComponent":{
            "province":"山东省",
            "city":"济宁市",
            "district":"微山县",
            "adcode":"370826"
        }
    }
}

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13

请求代码, appid和秘钥换成自己的, 去注册账号
curl -L “http://apia.yikeapi.com/geocode?appid=85841439&appsecret=EKCDLT4I&output=json&location=116.437039,39.999664”

重点重点!!!
该接口是免费的, 每日可以免费请求500次, 付费可请求每日5万次到每日300万次级不等, 比大厂的便宜太多了
————————————————
版权声明:本文为CSDN博主「Cc琎」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38832501/article/details/127779359

posted on 2023-07-05 09:45  混元真人  阅读(108)  评论(0)    收藏  举报