高德是否有将地址转换为经纬度的http接口

2013-11-22 16:16:46 +08:00
 javaluo
百度是有这个接口的,geocoding可以将例如 北京西站或者北京市朝阳区xx大街1号这样的地址转换为经纬度,而且是http的,请问高德有这个接口么?

翻了高德API的官网,只有Android,iOS,JavaScript的API,没发现http的。
4206 次点击
所在节点    问与答
4 条回复
julyclyde
2013-11-22 21:04:48 +08:00
问题是javascript的API也总得通信吧。扒开源代码看看呗
wangyongbo
2013-11-23 14:30:40 +08:00
你要自己看看 这些sdk的源码,javascript 的里面 估计也是去调用一个 http接口。用以下,然后打开 chrome f12 ,看看 网络流量,应该比较容易看到。
javaluo
2013-11-23 16:32:33 +08:00
@wangyongbo 感谢两位 我试试看
corningsun
2017-12-21 11:17:03 +08:00
好多年的帖子了~~

现在已经有了

```
def gaode_geocoder(address):
"""
高德 API: http://lbs.amap.com/api/webservice/guide/api/georegeo

"""
key = "your api key"
url = "http://restapi.amap.com/v3/geocode/geo?address=%s&output=JSON&key=%s" % (address, key)

s = requests.Session()
# 使用系统代理
s.trust_env = True

r = s.get(url, timeout=5)
# 请求结果转换为 json 对象
rep_json = r.json()
r.close()
s.close()

return rep_json

def test_gaode():
address = u"上海市浦东新区东方万国企业中心"

geocoder = gaode_geocoder(address)
# 返回值为 0 或 1,0 表示请求失败; 1 表示请求成功。
if geocoder['status'] == '1':
# "location": "116.484546,39.990064",
location = geocoder['geocodes'][0]['location']
gaode_lng = location.split(',')[0]
gaode_lat = location.split(',')[1]
print "address=%s, lng=%s, lat=%s" % (address, gaode_lng, gaode_lat)
else:
print "ERROR: status=%s, info=%s" % (geocoder['status'], geocoder['info'])

```

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/90223

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX