class PolylineWalker(StepWalker): def __init__(self, bot, speed, dest_lat, dest_lng): super(PolylineWalker, self).__init__(bot, speed, dest_lat, dest_lng) self.polyline_walker = Polyline((self.api._position_lat, self.api._position_lng), (self.destLat, self.destLng), self.speed) logger.log('[#] {}'.format(self.polyline_walker.URL)) def step(self): cLat, cLng = self.api._position_lat, self.api._position_lng while (cLat, cLng) != self.polyline_walker.get_pos()[0]: self.polyline_walker.unpause() sleep(1) self.polyline_walker.pause() cLat, cLng = self.polyline_walker.get_pos()[0] self.api.set_position(round(cLat, 5), round(cLng, 5), 0) self.bot.heartbeat() return True
class PolylineWalker(StepWalker): def __init__(self, bot, speed, dest_lat, dest_lng): super(PolylineWalker, self).__init__(bot, speed, dest_lat, dest_lng) self.polyline_walker = Polyline( (self.api._position_lat, self.api._position_lng), (self.destLat, self.destLng), self.speed) self.bot.event_manager.emit('polyline_request', sender=self, level='info', formatted="{url}", data={'url': self.polyline_walker.URL}) def step(self): cLat, cLng = self.api._position_lat, self.api._position_lng while (cLat, cLng) != self.polyline_walker.get_pos()[0]: self.polyline_walker.unpause() sleep(1) self.polyline_walker.pause() cLat, cLng = self.polyline_walker.get_pos()[0] self.api.set_position(round(cLat, 5), round(cLng, 5), 0) self.bot.heartbeat() return True
import time from math import ceil import haversine import polyline from polyline_generator import Polyline a = Polyline((47.1706378, 8.5167405), (47.1700271, 8.518072999999998), 100) print(a.points) print(a.polyline_elevations) print('Walking polyline: ', a.polyline) print('Encoded level: ','B'*len(a.points)) print('Initialted with speed: ', a.speed, 'm/s') print('Walking time: ', ceil(sum([haversine.haversine(*x)*1000/a.speed for x in a.walk_steps(a.points)])), ' sec.') generated_polyline = [] print(a.points[-1]) while a.points[-1] != a.get_pos(): pos = [a.get_pos()] generated_polyline += pos print(pos, a.get_alt()) time.sleep(0.1) else: pos = [a.get_pos()] print(pos, a.get_alt()) generated_polyline += pos print("We have reached our destination.") print(polyline.encode(generated_polyline)) print('Encoded level: ','B'*len(generated_polyline)) print('Verify at: ', 'https://developers.google.com/maps/documentation/utilities/polylineutility')
import time from math import ceil import haversine import polyline from math import ceil from polyline_generator import Polyline a = Polyline((47.1706378, 8.5167405), (47.1700271, 8.518072999999998), 100) print(a.points) print('Walking polyline: ', a.polyline) print('Encoded level: ','B'*len(a.points)) print('Initialted with speed: ', a.speed, 'm/s') print('Walking time: ', ceil(sum([haversine.haversine(*x)*1000/a.speed for x in a.walk_steps()])), ' sec.') generated_polyline = [] while a.points[-1] != a.get_pos()[0]: pos = a.get_pos() generated_polyline += pos print(pos) time.sleep(0.1) else: print("We have reached our destination.") print(polyline.encode(generated_polyline)) print('Encoded level: ','B'*len(generated_polyline)) print('Verify at: ', 'https://developers.google.com/maps/documentation/utilities/polylineutility')
import time from math import ceil import haversine import polyline from polyline_generator import Polyline a = Polyline((47.1706378, 8.5167405), (47.1700271, 8.518072999999998), 100) print(a.points) print('Walking polyline: ', a.polyline) print('Encoded level: ','B'*len(a.points)) print('Initialted with speed: ', a.speed, 'm/s') print('Walking time: ', ceil(sum([haversine.haversine(*x)*1000/a.speed for x in a.walk_steps()])), ' sec.') generated_polyline = [] while a.points[-1] != a.get_pos()[0]: pos = a.get_pos() generated_polyline += pos print(pos) time.sleep(0.1) else: print("We have reached our destination.") print(polyline.encode(generated_polyline)) print('Encoded level: ','B'*len(generated_polyline)) print('Verify at: ', 'https://developers.google.com/maps/documentation/utilities/polylineutility')