Beispiel #1
0
        public string Transform(GoogleLatLng[] points)
        {
            if (points == null)
            {
                return(null);
            }

            if (points.Length < 1)
            {
                throw new ArgumentException("Points array must contain at least one element.", "points");
            }

            double lat = 0, lng = 0;
            string polyline = string.Empty;

            for (int i = 0; i < points.Length; i++)
            {
                polyline += string.Format("{0}{1}", EncodedPolyline.Encode(points[i].Latitude - lat), EncodedPolyline.Encode(points[i].Longitude - lng));

                lat = points[i].Latitude;
                lng = points[i].Longitude;
            }

            return(string.Format("enc:{0}", polyline));
        }
Beispiel #2
0
        public void EncodePositions(double[] inValues, string expected)
        {
            var lonVals = inValues.Where((val, index) => (index % 2) == 0);
            var latVals = inValues.Where((val, index) => (index % 2) == 1);

            var inList = latVals.Zip(lonVals).Select((pos) => new Position(pos.First, pos.Second)).ToList();

            var encodedStr = EncodedPolyline.Encode(new List <Position> (inList));

            Assert.Equal(expected, encodedStr);
        }
Beispiel #3
0
        public void EncodeEmptyPositions()
        {
            var encodedStr = EncodedPolyline.Encode(new List <Position> ());

            Assert.True(string.IsNullOrEmpty(encodedStr));
        }