public void GetQueryStringParametersWhenMarkersTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = "key",
                Center    = new Location(new Coordinate(1, 1)),
                ZoomLevel = 1,
                Markers   = new[]
                {
                    new MapMarker
                    {
                        Label     = "label",
                        Size      = MarkerSize.Normal,
                        Color     = "color",
                        Icon      = new MapMarkerIcon("url"),
                        Locations = new[]
                        {
                            new Location(new Coordinate(1, 1))
                        }
                    }
                }
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

            var markers         = queryStringParameters.FirstOrDefault(x => x.Key == "markers");
            var markersExpected = string.Join("|", request.Markers.Select(x => x.ToString()));

            Assert.IsNotNull(markers);
            Assert.AreEqual(markersExpected, markers.Value);
        }
        public void GetQueryStringParametersWhenPathsTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = "key",
                Center    = new Location(new Coordinate(1, 1)),
                ZoomLevel = 1,
                Paths     = new List <MapPath>
                {
                    new MapPath
                    {
                        Weight    = 10,
                        Geodesic  = false,
                        Color     = "color",
                        FillColor = "fillcolor",
                        Points    = new List <Location>
                        {
                            new Location(new Coordinate(1, 1)),
                            new Location(new Coordinate(2, 2))
                        }
                    }
                }
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

            var path         = queryStringParameters.FirstOrDefault(x => x.Key == "path");
            var pathExpected = request.Paths.First().ToString();

            Assert.IsNotNull(path);
            Assert.AreEqual(pathExpected, path.Value);
        }
        public void GetQueryStringParametersTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = "abc",
                Center    = new Location(1, 1),
                ZoomLevel = 2,
                Size      = new MapSize(100, 100),
                Type      = MapType.Hybrid,
                Scale     = MapScale.Large,
                Format    = ImageFormat.Png32,
                Language  = Language.Arabic,
                Region    = "abc"
            };

            var parameters = request.GetQueryStringParameters();

            Assert.IsNotNull(parameters);
            Assert.IsTrue(parameters.Any(x => x.Key == "center" && x.Value == "1,1"));
            Assert.IsTrue(parameters.Any(x => x.Key == "zoom" && x.Value == "2"));
            Assert.IsTrue(parameters.Any(x => x.Key == "size" && x.Value == "100x100"));
            Assert.IsTrue(parameters.Any(x => x.Key == "maptype" && x.Value == "hybrid"));
            Assert.IsTrue(parameters.Any(x => x.Key == "scale" && x.Value == "2"));
            Assert.IsTrue(parameters.Any(x => x.Key == "format" && x.Value == "png32"));
            Assert.IsTrue(parameters.Any(x => x.Key == "language" && x.Value == "ar"));
            Assert.IsTrue(parameters.Any(x => x.Key == "region" && x.Value == "abc"));
        }
        public void GetQueryStringParametersWhenStylesMultipleTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = "key",
                Center    = new Location(new Coordinate(1, 1)),
                ZoomLevel = 1,
                Styles    = new List <MapStyle>
                {
                    new MapStyle
                    {
                        Feature = StyleFeature.Administrative_Country,
                        Element = StyleElement.Geometry_Fill,
                        Style   = new StyleRule
                        {
                            Hue             = "hue1",
                            Lightness       = 10,
                            Saturation      = 10,
                            Gamma           = 1,
                            InvertLightness = true,
                            Visibility      = StyleVisibility.Simplified,
                            Color           = "color1",
                            Weight          = 1
                        }
                    },
                    new MapStyle
                    {
                        Feature = StyleFeature.Administrative_Country,
                        Element = StyleElement.Geometry_Fill,
                        Style   = new StyleRule
                        {
                            Hue             = "hue2",
                            Lightness       = 11,
                            Saturation      = 11,
                            Gamma           = 2,
                            InvertLightness = false,
                            Visibility      = StyleVisibility.On,
                            Color           = "color2",
                            Weight          = 2
                        }
                    }
                }
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

            var style1         = queryStringParameters.FirstOrDefault(x => x.Key == "style");
            var styleExpected1 = request.Styles.First().ToString();

            Assert.IsNotNull(style1);
            Assert.AreEqual(styleExpected1, style1.Value);

            var style2         = queryStringParameters.LastOrDefault(x => x.Key == "style");
            var styleExpected2 = request.Styles.Last().ToString();

            Assert.IsNotNull(style2);
            Assert.AreEqual(styleExpected2, style2.Value);
        }
        public FileResult DisplayParkingLotsOnMap()
        {
            List <Lot>       allLots    = iLotRepo.ListAllLots();
            List <MapMarker> mapMarkers = new List <MapMarker>();

            foreach (Lot eachLot in allLots)
            {
                MapMarker       eachMapMarker = new MapMarker();
                List <Location> locations     = new List <Location>();
                Location        eachLocation  = new Location(eachLot.LotAddress);
                locations.Add(eachLocation);
                eachMapMarker.Locations = locations;

                eachMapMarker.Label = eachLot.LotNumber; //can only be 0-9 or A-Z

                eachMapMarker.Color = GoogleApi.Entities.Maps.StaticMaps.Request.Enums.MapColor.Blue;

                mapMarkers.Add(eachMapMarker);
            }

            StaticMapsRequest staticMapsRequest = new StaticMapsRequest();

            if (!String.IsNullOrEmpty(HttpContext.Session.GetString("WVUEmployeeID")))
            {
                string      WVUEmployeeID = HttpContext.Session.GetString("WVUEmployeeID");
                WVUEmployee employee      = iApplicationUserRepo.FindWvuEmployee(WVUEmployeeID);
                string      origin        = employee.Department.DepartmentAddress;

                MapMarker       eachMapMarker    = new MapMarker();
                List <Location> locations        = new List <Location>();
                Location        employeeLocation = new Location(origin);
                locations.Add(employeeLocation);
                eachMapMarker.Locations = locations;

                eachMapMarker.Label = "E"; //can only be 0-9 or A-Z

                eachMapMarker.Color = GoogleApi.Entities.Maps.StaticMaps.Request.Enums.MapColor.Purple;

                mapMarkers.Add(eachMapMarker);

                staticMapsRequest.Center = employeeLocation;
            }


            staticMapsRequest.Key = "AIzaSyBRT65jDLR_mhb4yzGbMBMaIZALz57028A";

            staticMapsRequest.Markers = mapMarkers;

            staticMapsRequest.Type = GoogleApi.Entities.Maps.StaticMaps.Request.Enums.MapType.Roadmap;

            StaticMapsResponse response = GoogleApi.GoogleMaps.StaticMaps.Query(staticMapsRequest);

            var file = response.Buffer;

            return(File(file, "image/jpeg"));
        }
        public void ConstructorDefaultTest()
        {
            var request = new StaticMapsRequest();

            Assert.AreEqual(640, request.Size.Width);
            Assert.AreEqual(640, request.Size.Height);
            Assert.AreEqual(MapType.Roadmap, request.Type);
            Assert.AreEqual(ImageFormat.Png, request.Format);
            Assert.AreEqual(Language.English, request.Language);
        }
        public void GetQueryStringParametersTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = "key",
                Center    = new Location(new Coordinate(1, 1)),
                ZoomLevel = 1
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

            var key         = queryStringParameters.FirstOrDefault(x => x.Key == "key");
            var keyExpected = request.Key;

            Assert.IsNotNull(key);
            Assert.AreEqual(keyExpected, key.Value);

            var size         = queryStringParameters.FirstOrDefault(x => x.Key == "size");
            var sizeExpected = request.Size.ToString();

            Assert.IsNotNull(size);
            Assert.AreEqual(sizeExpected, size.Value);

            var type         = queryStringParameters.FirstOrDefault(x => x.Key == "maptype");
            var typeExpected = request.Type.ToString().ToLower();

            Assert.IsNotNull(type);
            Assert.AreEqual(typeExpected, type.Value);

            var scale         = queryStringParameters.FirstOrDefault(x => x.Key == "scale");
            var scaleExpected = ((int)request.Scale).ToString();

            Assert.IsNotNull(scale);
            Assert.AreEqual(scaleExpected, scale.Value);

            var format         = queryStringParameters.FirstOrDefault(x => x.Key == "format");
            var formatExpected = request.Format.GetParameterName();

            Assert.IsNotNull(format);
            Assert.AreEqual(formatExpected, format.Value);

            var center         = queryStringParameters.FirstOrDefault(x => x.Key == "center");
            var centerExpected = request.Center.ToString();

            Assert.IsNotNull(center);
            Assert.AreEqual(centerExpected, center.Value);

            var zoom         = queryStringParameters.FirstOrDefault(x => x.Key == "zoom");
            var zoomExpected = request.ZoomLevel.ToString();

            Assert.IsNotNull(zoom);
            Assert.AreEqual(zoomExpected, zoom.Value);
        }
        public void GetQueryStringParametersWhenKeyIsEmptyTest()
        {
            var request = new StaticMapsRequest
            {
                Key = string.Empty
            };

            var exception = Assert.Throws <ArgumentException>(() => request.GetQueryStringParameters());

            Assert.AreEqual("'Key' is required", exception.Message);
        }
        public void GetQueryStringParametersWhenZoomLevelIsNullTest()
        {
            var request = new StaticMapsRequest
            {
                Key    = "key",
                Center = new Location(new Coordinate(1, 1))
            };

            var exception = Assert.Throws <ArgumentException>(() => request.GetQueryStringParameters());

            Assert.AreEqual("ZoomLevel is required, unless Markers, Paths or Visibles is defined", exception.Message);
        }
        public void StaticMapsWhenAsyncTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = this.ApiKey,
                Center    = new Location(new Coordinate(60.170877, 24.942796)),
                ZoomLevel = 1
            };
            var result = GoogleMaps.StaticMaps.QueryAsync(request).Result;

            Assert.IsNotNull(result);
            Assert.AreEqual(Status.Ok, result.Status);
        }
Exemple #11
0
        public void StreetViewWhenKeyIsStringEmptyTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = string.Empty,
                Center    = new Location(60.170877, 24.942796),
                ZoomLevel = 1
            };

            var exception = Assert.Throws <ArgumentException>(() => GoogleMaps.StaticMaps.Query(request));

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "Key is required");
        }
        public void GetUriTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = "abc",
                Center    = new Location(1, 1),
                ZoomLevel = 1
            };

            var uri = request.GetUri();

            Assert.IsNotNull(uri);
            Assert.AreEqual($"/maps/api/staticmap?key={request.Key}&language={request.Language.ToCode()}&center={Uri.EscapeDataString(request.Center.ToString())}&zoom={request.ZoomLevel.ToString()}&size={request.Size.Width}x{request.Size.Height}", uri.PathAndQuery);
        }
        public void GetQueryStringParametersWhenMarkersMultipleTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = "key",
                Center    = new Location(new Coordinate(1, 1)),
                ZoomLevel = 1,
                Markers   = new[]
                {
                    new MapMarker
                    {
                        Label     = "label1",
                        Size      = MarkerSize.Normal,
                        Color     = "color2",
                        Icon      = new MapMarkerIcon("url1"),
                        Locations = new[]
                        {
                            new Location(new Coordinate(1, 1))
                        }
                    },
                    new MapMarker
                    {
                        Label     = "label2",
                        Size      = MarkerSize.Mid,
                        Color     = "color2",
                        Icon      = new MapMarkerIcon("url2"),
                        Locations = new[]
                        {
                            new Location(new Coordinate(2, 2))
                        }
                    }
                }
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

            var markers1         = queryStringParameters.FirstOrDefault(x => x.Key == "markers");
            var markersExpected1 = request.Markers.First().ToString();

            Assert.IsNotNull(markers1);
            Assert.AreEqual(markersExpected1, markers1.Value);

            var markers2         = queryStringParameters.LastOrDefault(x => x.Key == "markers");
            var markersExpected2 = request.Markers.Last().ToString();

            Assert.IsNotNull(markers2);
            Assert.AreEqual(markersExpected2, markers2.Value);
        }
        public void StaticMapsWhenStylesTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = this.ApiKey,
                Center    = new Location(new Coordinate(60.170877, 24.942796)),
                ZoomLevel = 1,
                Styles    = new List <MapStyle>
                {
                    new MapStyle
                    {
                        Feature = StyleFeature.Administrative_Country,
                        Element = StyleElement.Geometry_Fill,
                        Style   = new StyleRule
                        {
                            Hue             = "hue1",
                            Lightness       = 10,
                            Saturation      = 10,
                            Gamma           = 1,
                            InvertLightness = true,
                            Visibility      = StyleVisibility.Simplified,
                            Color           = "color1",
                            Weight          = 1
                        }
                    },
                    new MapStyle
                    {
                        Feature = StyleFeature.Administrative_Country,
                        Element = StyleElement.Geometry_Fill,
                        Style   = new StyleRule
                        {
                            Hue             = "hue2",
                            Lightness       = 11,
                            Saturation      = 11,
                            Gamma           = 2,
                            InvertLightness = false,
                            Visibility      = StyleVisibility.On,
                            Color           = "color2",
                            Weight          = 2
                        }
                    }
                }
            };

            var result = GoogleMaps.StaticMaps.Query(request);

            Assert.IsNotNull(result);
            Assert.AreEqual(Status.Ok, result.Status);
        }
        public void StaticMapsTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = this.ApiKey,
                Center    = new Location(60.170877, 24.942796),
                ZoomLevel = 1
            };

            var result = GoogleMaps.StaticMaps.Query(request);

            Assert.IsNotNull(result);
            Assert.IsNotNull(result.Buffer);
            Assert.AreEqual(Status.Ok, result.Status);
        }
        public void GetQueryStringParametersWhenLocationOrPanoramaIdIsNullTest()
        {
            var request = new StaticMapsRequest
            {
                Key = "abc"
            };

            var exception = Assert.Throws <ArgumentException>(() =>
            {
                var parameters = request.GetQueryStringParameters();
                Assert.IsNull(parameters);
            });

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "Center is required, unless Markers, Path or Visibles is defined");
        }
        public void GetQueryStringParametersWhenKeyIsStringEmptyTest()
        {
            var request = new StaticMapsRequest
            {
                Key = string.Empty
            };

            var exception = Assert.Throws <ArgumentException>(() =>
            {
                var parameters = request.GetQueryStringParameters();
                Assert.IsNull(parameters);
            });

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "Key is required");
        }
        public void StaticMapsWhenVisiblesTest()
        {
            var request = new StaticMapsRequest
            {
                Key      = this.ApiKey,
                Visibles = new[]
                {
                    new Location(new Coordinate(60.170877, 24.942796)),
                    new Location(new Coordinate(60.180877, 24.952796))
                }
            };

            var result = GoogleMaps.StaticMaps.Query(request);

            Assert.IsNotNull(result);
            Assert.AreEqual(Status.Ok, result.Status);
        }
        public void StaticMapsWhenAsyncAndCancelledTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = this.ApiKey,
                Center    = new Location(60.170877, 24.942796),
                ZoomLevel = 1
            };
            var cancellationTokenSource = new CancellationTokenSource();
            var task = GoogleMaps.StaticMaps.QueryAsync(request, cancellationTokenSource.Token);

            cancellationTokenSource.Cancel();

            var exception = Assert.Throws <OperationCanceledException>(() => task.Wait(cancellationTokenSource.Token));

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "The operation was canceled.");
        }
        public void StaticMapsWhenInvalidKeyTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = "test",
                Center    = new Location(60.170877, 24.942796),
                ZoomLevel = 1
            };

            var exception = Assert.Throws <AggregateException>(() => GoogleMaps.StaticMaps.QueryAsync(request).Wait());

            Assert.IsNotNull(exception);

            var innerException = exception.InnerExceptions.FirstOrDefault();

            Assert.IsNotNull(innerException);
            Assert.AreEqual(typeof(GoogleApiException).ToString(), innerException.GetType().ToString());
            Assert.AreEqual("Response status code does not indicate success: 403 (Forbidden).", innerException.Message);
        }
        public void StaticMapsWhenKeyIsNullTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = null,
                Center    = new Location(60.170877, 24.942796),
                ZoomLevel = 1
            };

            var exception = Assert.Throws <AggregateException>(() => GoogleMaps.StaticMaps.QueryAsync(request).Wait());

            Assert.IsNotNull(exception);

            var innerException = exception.InnerException;

            Assert.IsNotNull(innerException);
            Assert.AreEqual(typeof(GoogleApiException), innerException.GetType());
            Assert.AreEqual(innerException.Message, "Key is required");
        }
        public void GetQueryStringParametersWhenChannelTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = "key",
                Center    = new Location(new Coordinate(1, 1)),
                ZoomLevel = 1,
                Channel   = "channel"
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

            var channel         = queryStringParameters.FirstOrDefault(x => x.Key == "channel");
            var channelExpected = request.Channel;

            Assert.IsNotNull(channel);
            Assert.AreEqual(channelExpected, channel.Value);
        }
Exemple #23
0
        public void StaticMapsWhenKeyIsStringEmptyTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = string.Empty,
                Center    = new Location(60.170877, 24.942796),
                ZoomLevel = 1
            };

            var exception = Assert.Throws <AggregateException>(() => GoogleMaps.StaticMaps.Query(request));

            Assert.IsNotNull(exception);
            Assert.AreEqual("One or more errors occurred.", exception.Message);

            var innerException = exception.InnerException;

            Assert.IsNotNull(innerException);
            Assert.AreEqual(typeof(GoogleApiException), innerException.GetType());
            Assert.AreEqual(innerException.Message, "Key is required");
        }
        public void GetQueryStringParametersWhenPathsWhenPointsIsEmptyTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = "key",
                Center    = new Location(new Coordinate(1, 1)),
                ZoomLevel = 1,
                Paths     = new List <MapPath>
                {
                    new MapPath
                    {
                        Color = "color"
                    }
                }
            };

            var exception = Assert.Throws <ArgumentException>(() => request.GetQueryStringParameters());

            Assert.AreEqual("Paths must contain two or more locations", exception.Message);
        }
        public void GetQueryStringParametersWhenRegionTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = "key",
                Center    = new Location(new Coordinate(1, 1)),
                ZoomLevel = 1,
                Region    = "region"
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

            var region         = queryStringParameters.FirstOrDefault(x => x.Key == "region");
            var regionExpected = request.Region;

            Assert.IsNotNull(region);
            Assert.AreEqual(regionExpected, region.Value);
        }
        public void GetQueryStringParametersWhenMarkersAndLocationsIsEmptyTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = "key",
                Center    = new Location(new Coordinate(1, 1)),
                ZoomLevel = 1,
                Markers   = new[]
                {
                    new MapMarker
                    {
                        Label = "label"
                    }
                }
            };

            var exception = Assert.Throws <ArgumentException>(() => request.GetQueryStringParameters());

            Assert.AreEqual("Markers must contain at least one location", exception.Message);
        }
        public void StaticMapsWhenPathsTest()
        {
            var request = new StaticMapsRequest
            {
                Key   = this.ApiKey,
                Paths = new List <MapPath>
                {
                    new MapPath
                    {
                        Weight    = 10,
                        Geodesic  = false,
                        Color     = "color1",
                        FillColor = "fillcolor1",
                        Points    = new List <Location>
                        {
                            new Location(new Coordinate(60.170877, 24.942796)),
                            new Location(new Coordinate(60.180877, 24.952796))
                        }
                    },
                    new MapPath
                    {
                        Weight    = 11,
                        Geodesic  = true,
                        Color     = "color1",
                        FillColor = "fillcolor2",
                        Points    = new List <Location>
                        {
                            new Location(new Coordinate(60.170877, 24.942796)),
                            new Location(new Coordinate(60.180877, 24.952796))
                        }
                    }
                }
            };

            var result = GoogleMaps.StaticMaps.Query(request);

            Assert.IsNotNull(result);
            Assert.AreEqual(Status.Ok, result.Status);
        }
        public void GetQueryStringParametersWhenVisiblesTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = "key",
                Center    = new Location(new Coordinate(1, 1)),
                ZoomLevel = 1,
                Visibles  = new[]
                {
                    new Location(new Coordinate(1, 1))
                }
            };

            var queryStringParameters = request.GetQueryStringParameters();

            Assert.IsNotNull(queryStringParameters);

            var visible         = queryStringParameters.FirstOrDefault(x => x.Key == "visible");
            var visibleExpected = string.Join("|", request.Visibles.Select(x => x.ToString()));

            Assert.IsNotNull(visible);
            Assert.AreEqual(visibleExpected, visible.Value);
        }
Exemple #29
0
        public void StreetViewWhenAsyncAndTimeoutTest()
        {
            var request = new StaticMapsRequest
            {
                Key       = this.ApiKey,
                Center    = new Location(60.170877, 24.942796),
                ZoomLevel = 1
            };
            var exception = Assert.Throws <AggregateException>(() =>
            {
                var result = GoogleMaps.StaticMaps.QueryAsync(request, TimeSpan.FromMilliseconds(1)).Result;
                Assert.IsNull(result);
            });

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "One or more errors occurred.");

            var innerException = exception.InnerException;

            Assert.IsNotNull(innerException);
            Assert.AreEqual(innerException.GetType(), typeof(TaskCanceledException));
            Assert.AreEqual(innerException.Message, "A task was canceled.");
        }
        public void StaticMapsWhenMarkersTest()
        {
            var request = new StaticMapsRequest
            {
                Key     = this.ApiKey,
                Markers = new[]
                {
                    new MapMarker
                    {
                        Label     = "label1",
                        Size      = MarkerSize.Normal,
                        Color     = "color2",
                        Icon      = new MapMarkerIcon("url1"),
                        Locations = new[]
                        {
                            new Location(new Coordinate(60.170877, 24.942796))
                        }
                    },
                    new MapMarker
                    {
                        Label     = "label2",
                        Size      = MarkerSize.Mid,
                        Color     = "color2",
                        Icon      = new MapMarkerIcon("url2"),
                        Locations = new[]
                        {
                            new Location(new Coordinate(60.180877, 24.952796))
                        }
                    }
                }
            };

            var result = GoogleMaps.StaticMaps.Query(request);

            Assert.IsNotNull(result);
            Assert.AreEqual(Status.Ok, result.Status);
        }