static void Main(string[] args) { //DEFAULT, GoogleMaps // GeoCoder gc = new GeoCoder(); // IGeoCodeResult Target = new GeoCodeResult(); //Target = g.GetCoordinates("Austin, TX"); // defaults to Google's GMap Service //BING MAPS GeoCoder gc = new GeoCoder(); BingMapConfig bmc = new BingMapConfig(); bmc.Key = "AjgNhLFwXI1zRKHwTyZYQSXQZwTlWdHrjSZ6DD-Pcp6rihIEeIoG7ywMGmb_TiRs"; gc.AddProvider(new BingMap(bmc)); IGeoCodeResult Target = new GeoCodeResult(); //MAP QUEST //GeoCoder gc = new GeoCoder(); //MapQuestConfig mqc = new MapQuestConfig(); //mqc.Key = "Fmjtd%7Cluubn1ut2d%2Cbw%3Do5-90b09y"; //gc.AddProvider(new MapQuestMap(mqc)); //IGeoCodeResult Target = new GeoCodeResult(); //Target = gc.GetCoordinates("Abstatt"); //OSM //IGeoCodeResult Target = new GeoCodeResult(); //GeoCoder gc = new GeoCoder(); //gc.AddProvider(new OpenStreetMap()); //Target = gc.GetCoordinates("Austin, TX"); //CLOUD MATE //GeoCoder gc = new GeoCoder(); //CloudMadeConfig cmc = new CloudMadeConfig(); //cmc.Key = "66ac5b1df21848ecafa38a53d92dabd1"; //gc.AddProvider(new CloudMade(cmc)); //IGeoCodeResult Target = new GeoCodeResult(); //Target = gc.GetCoordinates("Austin, TX"); Target = gc.GetCoordinates(""); double lat; double lng; JObject response = (JObject)JsonConvert.DeserializeObject(Target.response); System.Console.WriteLine("JSON Response: " + response.ToString()); System.Console.WriteLine(response.ToString()); if (Target.HasValue) { lat = Target.Latitude; lng = Target.Longitude; System.Console.WriteLine("latitude: " + lat + "--- longitude: " + lng); System.Console.WriteLine("country" + Target.Locations.First().Country); } Console.ReadLine(); }
// 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 GeoCoderYahooPlaceFinder() { YahooPlaceFinderConfig yph = new YahooPlaceFinderConfig().SetKey(YahooAppId); YahooPlaceFinder ypf = new Lucuma.Libs.YahooPlaceFinder(yph); GeoCoder g = new GeoCoder(ypf); var Expected = new { Latitude = 30.267605, Longitude = -97.742984 }; IGeoCodeResult Target = new GeoCodeResult(); Target = g.GetCoordinates("Austin, TX"); Assert.AreEqual(Expected.Latitude, Target.Latitude); Assert.AreEqual(Expected.Longitude, Target.Longitude); }
public void GeoCoderFirstFails() { var Expected = new { Latitude = 30.1968545, Longitude = -97.5975533560703 }; IGeoCodeResult Target = new GeoCodeResult(); GoogleGmapConfig gmc = new GoogleGmapConfig() .SetUrl("http://madps.googleapis.com/maps/api/geocode/json?address={0}&sensor=true"); GeoCoder gc = new GeoCoder() .AddProvider(new GoogleGmap(gmc)) .AddProvider(new OpenStreetMap()); Target = gc.GetCoordinates("Austin, TX"); Assert.AreEqual(Expected.Latitude, Target.Latitude); Assert.AreEqual(Expected.Longitude, Target.Longitude); }
public void GeoCoderDefault() { // Google Assert GeoCoder gc = new GeoCoder(); var Expected = new{ Latitude = 30.267153, Longitude = -97.7430608 }; IGeoCodeResult Target = gc.GetCoordinates("Austin, TX"); Assert.AreEqual(Expected.Latitude, Target.Latitude); Assert.AreEqual(Expected.Longitude, Target.Longitude); }
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); }
public void GeoCoderAlternate() { var Expected = new { Latitude = 30.1968545, Longitude = -97.5975533560703 }; IGeoCodeResult Target = new GeoCodeResult(); GeoCoder gc = new GeoCoder(); gc.AddProvider(new OpenStreetMap()); Target = gc.GetCoordinates("Austin, TX"); Assert.AreEqual(Expected.Latitude, Target.Latitude); Assert.AreEqual(Expected.Longitude, Target.Longitude); }