Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import munipaths # get the path data we previously grabbed
- import random
- COLORS = ['#FF0000', '#00FF00', '#0000FF', '#FFFF00', '#00FFFF', '#FF00FF', '#800000', '#008000', '#000080', '#808000', '#008080', '#800080']
- fo = open('polylineJS2.js', 'w')
- truncatedRouteList = []
- allRoutesJavaScript = {}
- for route in munipaths.munipaths.keys():
- if route in ['1AX', '1BX', '5L', '8AX', '8BX', '9L', '14L', '14X', '28L', '31AX', '31BX', '38L', '38AX', '38BX', '71L', 'K OWL', 'L OWL', 'M OWL', 'N OWL', 'T OWL', '59', '60', '61', '30X', 'NX']:
- continue
- truncatedRouteList.append(route)
- routeJavaScript = []
- for path in munipaths.munipaths[route]:
- latlngJavaScript = []
- for point in path:
- latlngJavaScript.append('%s,%s' % (point['lat'], point['lon']))
- routeJavaScript.append('[' + ','.join(latlngJavaScript) + ']')
- allRoutesJavaScript[route] = '[' + ','.join(routeJavaScript) + ']'
- completeJS = []
- for route in allRoutesJavaScript.keys(): # write up to the last one so we don't have a trailing comma
- completeJS.append('"%s": %s' % (route, allRoutesJavaScript[route]))
- fo.write('var allData = {%s};\n' % (','.join(completeJS)))
- # assign each route a random color
- colorAssignments = []
- for route in truncatedRouteList:
- colorAssignments.append('"%s": "%s"' % (route, random.choice(COLORS)))
- fo.write('var routeColors = {%s};\n' % ','.join(colorAssignments))
- fo.write('var routeNames = ["%s"];\n' % ('","'.join(truncatedRouteList)))
- fo.write("""
- for (var i = 0; i < routeNames.length; i++) { // loop over each route
- var routeName = routeNames[i];
- for (var j = 0; j < allData[routeName].length; j++) { // loop over each path on the route
- var curPath = allData[routeName][j];
- var polylinePoints = [];
- for (var k = 0; k < curPath.length; k += 2) { // loop over each point in the path
- polylinePoints.push(new google.maps.LatLng(curPath[k], curPath[k+1]));
- }
- var routePath = new google.maps.Polyline({
- path: polylinePoints,
- strokeColor: routeColors[routeName],
- strokeOpacity: 1.0,
- strokeWeight: 2
- });
- routePath.setMap(map);
- }
- }
- """);
- fo.close()
Add Comment
Please, Sign In to add comment