// 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; }
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); }
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); }
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); }