我想通过某种方法方式获取有关纬度和经度的城市信息
解决方法:
谷歌地图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