Skip to content

Single Driver Round Trip

Maciej Mionskowski edited this page Apr 24, 2016 · 2 revisions
client := &route4me.NewClient("11111111111111111111111111111111")
service := &routing.Service{Client: client}
addresses := []*routing.Address{&routing.Address{AddressString: "754 5th Ave New York, NY 10019",
	Alias:     "Bergdorf Goodman",
	IsDepot:   true,
	Latitude:  40.7636197,
	Longitude: -73.9744388,
	Time:      0},

	&routing.Address{AddressString: "717 5th Ave New York, NY 10022",
		Alias:     "Giorgio Armani",
		Latitude:  40.7669692,
		Longitude: -73.9693864,
		Time:      0},

	&routing.Address{AddressString: "888 Madison Ave New York, NY 10014",
		Alias:     "Ralph Lauren Women's and Home",
		Latitude:  40.7715154,
		Longitude: -73.9669241,
		Time:      0},

	&routing.Address{AddressString: "1011 Madison Ave New York, NY 10075",
		Alias:     "Yigal Azrou'l",
		Latitude:  40.7772129,
		Longitude: -73.9669,
		Time:      0},

	&routing.Address{AddressString: "440 Columbus Ave New York, NY 10024",
		Alias:     "Frank Stella Clothier",
		Latitude:  40.7808364,
		Longitude: -73.9732729,
		Time:      0},

	&routing.Address{AddressString: "324 Columbus Ave #1 New York, NY 10023",
		Alias:     "Liana",
		Latitude:  40.7803123,
		Longitude: -73.9793079,
		Time:      0},

	&routing.Address{AddressString: "110 W End Ave New York, NY 10023",
		Alias:     "Toga Bike Shop",
		Latitude:  40.7753077,
		Longitude: -73.9861529,
		Time:      0},

	&routing.Address{AddressString: "555 W 57th St New York, NY 10019",
		Alias:     "BMW of Manhattan",
		Latitude:  40.7718005,
		Longitude: -73.9897716,
		Time:      0},

	&routing.Address{AddressString: "57 W 57th St New York, NY 10019",
		Alias:     "Verizon Wireless",
		Latitude:  40.7558695,
		Longitude: -73.9862019,
		Time:      0},
}
routeParams := &routing.RouteParameters{
	AlgorithmType:        routing.TSP,
	StoreRoute:           false,
	Name:                 "Single Driver Round Trip",
	RouteDate:            time.Now().Unix(),
	RouteTime:            60 * 60 * 7,
	RouteMaxDuration:     86400,
	VehicleCapacity:      1,
	VehicleMaxDistanceMI: 10000,
	Optimize:             routing.Distance,
	DistanceUnit:         routing.Miles,
	DeviceType:           routing.Web,
	TravelMode:           routing.Driving,
}

optParams := &routing.OptimizationParameters{
	Addresses:  addresses,
	Parameters: routeParams,
}
_, err := service.RunOptimization(optParams)
Clone this wiki locally