Package library :: Package pyjamas :: Package gmaps :: Module DirectionsService
[hide private]
[frames] | no frames]

Source Code for Module library.pyjamas.gmaps.DirectionsService

 1  # Copyright (C) 2009 Daniel Carvalho <idnael@gmail.com> 
 2  # 
 3  # Licensed under the Apache License, Version 2.0 (the "License"); 
 4  # you may not use this file except in compliance with the License. 
 5  # You may obtain a copy of the License at 
 6  # 
 7  #     http://www.apache.org/licenses/LICENSE-2.0 
 8  # 
 9  # Unless required by applicable law or agreed to in writing, software 
10  # distributed under the License is distributed on an "AS IS" BASIS, 
11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
12  # See the License for the specific language governing permissions and 
13  # limitations under the License. 
14   
15  from __pyjamas__ import JS 
16   
17  from pyjamas.gmaps.Utils import translateGmapsObject, dictToJs 
18  from pyjamas.gmaps.Geocoder import translateGeocoderResult 
19   
20   
21  DirectionsStatus = JS("$wnd['google']['maps']['DirectionsStatus']") 
22   
23   
24  DirectionsTravelMode = JS("$wnd['google']['maps']['DirectionsTravelMode']") 
25   
26   
27  DirectionsUnitSystem = JS("$wnd['google']['maps']['DirectionsUnitSystem']") 
28   
29   
30  directionsResultsFields = dictToJs( 
31      {"trips": 'l', "warnings": 'l', "routes": 'l', "steps": 'l', 
32      "results": 'd', "trips[]": 'd', "routes[]": 'd', "steps[]": 'd', 
33   
34      "start_geocode": translateGeocoderResult, 
35      "end_geocode": translateGeocoderResult}) 
36   
37   
38  # translates a directions results structure from js to python 
39  # and vice-versa 
40   
41   
42 -def translateDirectionsResults(jsResults, pyToJs=False):
43 return translateGmapsObject(jsResults, "results", \ 44 directionsResultsFields, pyToJs)
45 46
47 -class DirectionsService:
48
49 - def __init__(self):
50 self.ds = JS("""new $wnd['google']['maps']['DirectionsService']()""")
51
52 - def route(self, request, callback):
53 self.ds.route(request, 54 lambda jsResults, status: 55 callback(translateDirectionsResults(jsResults), status))
56 57
58 -def DirectionsRequest(**params):
59 return dictToJs(params)
60 61
62 -def DirectionsWaypoint():
63 JS("return {}")
64 65
66 -def DirectionsTrip():
67 JS("return {}")
68 69
70 -def DirectionsRoute():
71 JS("return {};")
72 73
74 -def DirectionsStep():
75 JS("return {};")
76 77
78 -def DirectionsDistance():
79 JS("return {};")
80 81
82 -def DirectionsDuration():
83 JS("return {};")
84