X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=www%2Fmaps%2Fmaps%2Fcontrollers%2Fdirections.py;h=f7fa5532307a770efbad4467604cf6856f2f5de0;hb=709872b2c5db961fb12ce52a4122478e716dce00;hp=0cd278ffa6893dfcbf741037339c2c289b77c5f0;hpb=a35db4b9616635ac041a24d4af969a3fed67f354;p=dead%2Fcensus-tools.git diff --git a/www/maps/maps/controllers/directions.py b/www/maps/maps/controllers/directions.py index 0cd278f..f7fa553 100644 --- a/www/maps/maps/controllers/directions.py +++ b/www/maps/maps/controllers/directions.py @@ -20,9 +20,9 @@ class DirectionsController(BaseController): # Google geocodes the start and end coordinates # automatically. There's no other way to pass the "name" of a - # route back to the server, so we have to rely on the geocoded + # leg back to the server, so we have to rely on the geocoded # names for identification. - def get_route_address(self, route, start=True): + def get_leg_address(self, leg, start=True): location_string = "start" if not start: @@ -31,7 +31,7 @@ class DirectionsController(BaseController): location_string = "end" # Get the GeocoderResponse object. - gr = route[location_string + '_geocode'] + gr = leg[location_string + '_geocode'] try: return gr['formatted_address'] @@ -41,28 +41,28 @@ class DirectionsController(BaseController): def directions_result_to_placemarks(self, result): placemarks = [] - trip_idx = 0 + route_idx = 0 - for trip in result['trips']: - trip_idx += 1 + for route in result['routes']: + route_idx += 1 - for route in trip['routes']: + for leg in route['legs']: p = KML.Placemark() - route_start = self.get_route_address(route, True) - route_end = self.get_route_address(route, False) - route_name = route_start + " to " + route_end - route_name += ' (' + str(trip_idx) + ')' - name_element = KML.Name(route_name) + leg_start = self.get_leg_address(leg, True) + leg_end = self.get_leg_address(leg, False) + leg_name = leg_start + " to " + leg_end + leg_name += ' (' + str(route_idx) + ')' + name_element = KML.Name(leg_name) p.children.append(name_element) ls = KML.LineString() coords = KML.Coordinates() - for step in route['steps']: + for step in leg['steps']: for coord in step['lat_lngs']: - coords.text += str(coord.values()[1]) - coords.text += ',' coords.text += str(coord.values()[0]) + coords.text += ',' + coords.text += str(coord.values()[1]) coords.text += ',0 ' ls.children.append(coords) @@ -90,16 +90,16 @@ class DirectionsController(BaseController): def directions_result_to_csv(self, result): rows = [] - for trip in result['trips']: + for route in result['routes']: - for route in trip['routes']: - route_start = self.get_route_address(route, True) - route_end = self.get_route_address(route, False) - row = '"' + route_start + '"' + for leg in route['legs']: + leg_start = self.get_leg_address(route, True) + leg_end = self.get_leg_address(route, False) + row = '"' + leg_start + '"' row += ', ' - row += '"' + route_end + '"' + row += '"' + leg_end + '"' row += ', ' - row += str(float(route['distance']['value']) / 1000) + row += str(float(leg['distance']['value']) / 1000) rows.append(row) return rows