与python的谷歌距离矩阵

时间:2013-09-04 11:21:42

标签: python google-app-engine google-maps google-direction

我的问题是我希望得到大约4000纬度的距离。我已经使用了Google Direction矩阵服务。在某种程度上,它对我来说很好。之后我收到了无效请求的错误。因为GET方法。我想要一个解决方案如何使用带有POST的远程矩阵服务和POST。 感谢您对此的帮助。在此先感谢。

我正在使用appengine用python写一个谷歌距离矩阵,我被urllib post方法打动了

代码: url = 'http://maps.googleapis.com/maps/api/distancematrix/json'

    conn = getConnection()
    cursor = conn.cursor()
    origins=[]
    try:
        cursor.execute('select username,lat,lng,cabNo,orderno from tripsheet order by username;')
        origins= cursor.fetchall()
    except:
        self.response.out.write("Some thing bad happened")    
    conn.close()
    responseArray= []
    for o in origins :
        origin= {}
        key= "blah"
        origin = {"name":o[0],"key":key, "latitude":o[1],"longitude":o[2],"cabNo":o[3],"order":o[4]}
        responseArray.append(origin)
        url=url+o[1]+','+o[2]+'|'
    values = {
      'sensor' : 'false',
      'mode' : 'driving',
      'avoid' : 'tolls',
      'destinations': '%s,%s' % (destination["lat"] ,destination["lon"])
    }
    data = urllib.urlencode(values)
    req = urllib2.Request(url, data)
    response = urllib2.urlopen(req)
    the_page = response.read()
    self.response.out.write(the_page)

conn = getConnection() cursor = conn.cursor() origins=[] try: cursor.execute('select username,lat,lng,cabNo,orderno from tripsheet order by username;') origins= cursor.fetchall() except: self.response.out.write("Some thing bad happened") conn.close() responseArray= [] for o in origins : origin= {} key= "blah" origin = {"name":o[0],"key":key, "latitude":o[1],"longitude":o[2],"cabNo":o[3],"order":o[4]} responseArray.append(origin) url=url+o[1]+','+o[2]+'|' values = { 'sensor' : 'false', 'mode' : 'driving', 'avoid' : 'tolls', 'destinations': '%s,%s' % (destination["lat"] ,destination["lon"]) } data = urllib.urlencode(values) req = urllib2.Request(url, data) response = urllib2.urlopen(req) the_page = response.read() self.response.out.write(the_page)

我正在尝试传递4000个原点和单个目的地。

获取以下错误消息,因为它正在接受GET。我想使用urllib2转换为POST:

任何帮助都非常感激。

0 个答案:

没有答案