/// <summary>
        /// Generate random route
        /// </summary>
        private void CreateRoute()
        {
            var latLon = _initLatLon;
            var previousLatLon = _initLatLon;

            // Get liters
            var liters = double.Parse(TxLiters.Text, System.Globalization.NumberStyles.Any);

            // Get consumption
            var consumption = double.Parse(TxConsumption.Text, System.Globalization.NumberStyles.Any);

            // Route instance
            _route = new Route(new List<GLatLng>(), liters, consumption);

            // Create A point
            GMapControl.Add(new GMarkerWrapper(latLon, "A", Color.DarkMagenta));

            // Add initial point to route
            _route.AddPoint(latLon);

            // Save initial distance in the current latlon
            _route.SaveRemainingDistance(latLon);

            var i = 0;
            do
            {
                // Generate random route changing his lat or lan depending the condition
                latLon = i % 2 == 0 ? latLon.GetRandomLon(20000, 40000) : latLon.GetRandomLat(20000, 40000);

                // Add to points list
                _route.AddPoint(latLon);

                // Get remaining distance in this latlon
                _route.CalculateRemainigDistance(latLon, previousLatLon);

                // Save remaining distance in the current latlon
                _route.SaveRemainingDistance(latLon);

                previousLatLon = latLon;

                i++;
            } while (_initLatLon.distanceFrom(latLon) <= 230000);

            // Create B point
            GMapControl.Add(new GMarkerWrapper(latLon, "B", Color.DarkMagenta));

            // Create route
            GMapControl.Add(_route);
        }