我是靠谱客的博主 丰富云朵,最近开发中收集的这篇文章主要介绍如何根据纬度和经度获取城市名称,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

  1. 谷歌地图api, 但是不适合国内使用呢
  2. 百度地图的 “全球逆地理编码服务” 接口
  3. 高德地图的 "逆地理编码"接口
  4. 易客云的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"
}

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

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

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

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

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

重点重点!!!
该接口是免费的, 每日可以免费请求500次, 付费可请求每日5万次到每日300万次级不等, 比大厂的便宜太多了

最后

以上就是丰富云朵为你收集整理的如何根据纬度和经度获取城市名称的全部内容,希望文章能够帮你解决如何根据纬度和经度获取城市名称所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部