Example #1
0
        public void BingMapNoResults()
        {
            BingMapConfig bmc = new BingMapConfig()
                                .SetKey(BingKey);

            BingMap bing = new BingMap(bmc);

            IGeoCodeResult Target = new GeoCodeResult();

            Target = bing.GetCoordinates("alskdfjkaadsflasd");
            Assert.AreEqual(false, Target.HasValue);
            Assert.AreEqual(0, Target.Longitude);
        }
Example #2
0
        public void BingMapTest()
        {
            BingMapConfig bmc = new BingMapConfig()
                                .SetKey(BingKey);

            BingMap bing = new BingMap(bmc);

            var Expected = new {
                Latitude  = 30.267599105834961,
                Longitude = -97.74298095703125
            };
            IGeoCodeResult Target = new GeoCodeResult();

            Target = bing.GetCoordinates("Austin, TX");
            Assert.AreEqual(Expected.Latitude, Target.Latitude);
            Assert.AreEqual(Expected.Longitude, Target.Longitude);
        }
Example #3
0
        public void GeoCoderBingTest()
        {
            GeoCoder      gc  = new GeoCoder();
            BingMapConfig bmc = new BingMapConfig()
                                .SetKey(BingKey);

            gc.AddProvider(new BingMap(bmc));  // bing requires a key

            IGeoCodeResult Target = new GeoCodeResult();

            var Expected = new{
                Latitude  = 30.267599105834961,
                Longitude = -97.74298095703125
            };

            Target = gc.GetCoordinates("Austin, TX");
            Assert.AreEqual(Expected.Latitude, Target.Latitude);
            Assert.AreEqual(Expected.Longitude, Target.Longitude);
        }
Example #4
0
        public void BingMapTestAlternateUrl()
        {
            BingMapConfig bmc = new BingMapConfig()
                                .SetKey(BingKey)
                                .SetUrl("http://dev.virtualearth.net/REST/v1/Locations/?maxResults=1")
                                .SetSearchQuery("q")
                                .SetKeyQuery("key");

            BingMap bing = new BingMap(bmc);

            var Expected = new {
                Latitude  = 30.267599105834961,
                Longitude = -97.74298095703125
            };

            IGeoCodeResult Target = new GeoCodeResult();

            Target = bing.GetCoordinates("Austin, TX");
            Assert.AreEqual(Expected.Latitude, Target.Latitude);
            Assert.AreEqual(Expected.Longitude, Target.Longitude);
        }
Example #5
0
        // GET api/<controller>
        public IGeoCodeResult Query(GeoQuery q)
        {
            string             key      = string.Empty;
            string             query    = string.Empty;
            string             provider = "Google";
            IGeoProviderConfig config;
            IGeoProvider       GeoProvider = null;

            IGeoCodeResult result = new GeoCodeResult();


            if (!String.IsNullOrEmpty(q.Query) && !String.IsNullOrEmpty(q.Providers))
            {
                query = q.Query;
                // we have a search
                provider = q.Providers.Replace("KEY", "");
                if (q.Providers.Contains("KEY"))
                {
                    key = q.Key;
                }

                switch (provider)
                {
                case "Google":
                    config      = new GoogleGmapConfig();
                    GeoProvider = new GoogleGmap(config);
                    break;

                case "Bing":
                    config      = new BingMapConfig().SetKey(key);
                    GeoProvider = new BingMap(config);
                    break;

                case "MapQuest":
                    config      = new MapQuestConfig().SetKey(key);
                    GeoProvider = new MapQuestMap(config);
                    break;

                case "Open Streets":
                    config      = new OpenStreetMapConfig().SetUserAgent("your email here yo");
                    GeoProvider = new OpenStreetMap(config);
                    break;

                case "YahooPlaces":
                    config      = new YahooPlaceFinderConfig().SetKey(key);
                    GeoProvider = new YahooPlaceFinder(config);
                    break;

                case "CloudMade":
                    config      = new CloudMadeConfig().SetKey(key);
                    GeoProvider = new CloudMade(config);
                    break;
                }

                GeoProvider = GeoProvider != null ? GeoProvider : new GoogleGmap();

                GeoCoder gc = new GeoCoder(GeoProvider);

                result = gc.GetCoordinates(query);
            }
            return(result);
        }