zoukankan      html  css  js  c++  java
  • 地址解析和反地址解析—百度地图api yongmou

       最近,要做个关于地图的东西。简单的看了几个地图,发现百度地图还是不错的,谷歌地图收费的就不考虑了,MapABC和mapbar只提供客户端接口,什么falsh了啊,javascript了,好像只有百度地图有服务器端的接口。

       贴一下python写的小demo:(

    # coding=utf-8
    import urllib
    import urllib2
    
    map_api_url = 'http://api.map.baidu.com/geocoder/v2/?'
    ak = '38dbc1cdbb8170d3f08a4db190de55d2'
    
    # 地址解析
    def geocoder(address, city='北京市'):
        query_args = {  'address':address,
                        'city':city,
                        'output':'xml',
                        'ak':ak}
        encoded_args = urllib.urlencode(query_args)
        render_url(map_api_url + encoded_args)
    
    # 逆地址解析
    def geodecoder(lat, lng, pois=0):
        location = "%f,%f" % (lat, lng)
        output = 'xml'
        query_args = 'location=%s&ak=%s&output=%s&pois=%d' % \
            (location, ak, output, pois)
        render_url(map_api_url + query_args)
    
    def render_url(url):
        response = urllib2.urlopen(url)
        
        headers = response.info()
        data = response.read()
        response.close()
        
        show_response(headers, data)
        return data
    
    def show_response(headers, data):
        print 'Headers :'
        print '----------'
        print headers
        print 'Data :'
        print '----------'
        print data.decode('utf-8')
    
        
    if __name__ == '__main__':
        geocoder('橘子洲', '长沙市')
        lat = 28.175617295411
        lng = 112.96695042246
        geodecoder(lat, lng, 1)
  • 相关阅读:
    10-vue自定义指令
    09-vue过滤器的基本使用
    vue总结
    07-vue的v-if和v-show
    06-循环数组v-for
    Java通过JNA调用dll或so
    Centos7安装FRP内网穿透工具进行远程连接
    centos7检查Java项目存活与否并重启
    centos7中Java项目重启
    Ubuntu 19.04: Connect to GNOME desktop environment via XRDP
  • 原文地址:https://www.cnblogs.com/liyongmou/p/3025548.html
Copyright © 2011-2022 走看看