private double CalculateDistance(SQLLibrary.CurrentLocation location, string address) { Location locA = new Location("Current"); locA.Latitude = location.Latitude; locA.Longitude = location.Longitude; Location locB = GetLocationFromAddress(address); if (locB == null) { return(0); } double distance = locA.DistanceTo(locB); return(distance * TO_MILES); }
private string CalculateDistance(SQLLibrary.CurrentLocation location, string address) { Location locA = new Location("Current"); locA.Latitude = location.Latitude; locA.Longitude = location.Longitude; Location locB = GetLocationFromAddress(address); if (locB == null) { return(""); } double distance = locA.DistanceTo(locB); string city = ReverseGeocodeCurrentLocation(locB).Locality; return(city + ", " + (distance * TO_MILES).ToString("0.##") + " mi"); }
public override void Run() { // Call sql List <Restaurant> list = library.GetRestaurants(); SQLLibrary.CurrentLocation currentLocation = library.GetCurrentLocation(); if (list == null) { return; } bool mFlag = false; foreach (Restaurant r in list) { int id = r.RestaurantId; //rest. id if (!mService.doesExist(id)) { string location = r.Name; int time = r.CurrentWait; ListItem item = new ListItem(mService.ApplicationContext, null); item.Name = r.Name; item.Index = id; item.WaitTime = r.CurrentWait; item.Address = r.Address; string distance = CalculateDistance(currentLocation, r.Address); item.Distance = distance; item.setLables(r.Name, "Average Wait Time: " + r.CurrentWait + " mins", distance); mService.addListItem(item); mFlag = true; } } if (mFlag) { Intent intent = new Intent("com.csi4999.project16.ACTION_UPDATE"); mService.SendBroadcast(intent); } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.Deals); SQLLibrary dLibrary = SQLLibrary.getInstance(); var dealList = new List <Deal>(dLibrary.GetDeals()); var restList = new List <Restaurant>(dLibrary.GetRestaurants()); TextView dRestName = null, dDealText = null; LinearLayout dDealLayout = null; RelativeLayout dRelativeLayout = null; SetContentView(Resource.Layout.Deals); // dRelativeLayout = (RelativeLayout)FindViewById(Resource.Id.selectedDeal); dDealLayout = (LinearLayout)FindViewById(Resource.Id.dealListLayout); dRestName = (TextView)FindViewById(Resource.Id.restName); dDealText = (TextView)FindViewById(Resource.Id.dealText); //mDealDescript = (TextView)FindViewById(Resource.Id.dealDescript); bool x = false; int y = 0; ResetImageCounters(); SQLLibrary.CurrentLocation currentLocation = dLibrary.GetCurrentLocation(); foreach (Deal d in dealList) { if (x == false) { DealItem item = new DealItem(ApplicationContext, null); int sizeOfRestList = restList.Count(); int id = d.RestaurantId; foreach (Restaurant r in restList) { if (id == r.RestaurantId) { item.restId = id; item.restName = r.Name; item.restWaitTime = r.CurrentWait; item.Address = r.Address; string distance = CalculateDistance(currentLocation, r.Address); item.Distance = distance; item.SetName(r.Name); break; } } y = d.category; item.SetText(d.Title); item.SetDescript(d.Descript); item.SetImage(GetImageResource(y, d.Title)); dDealLayout.AddView(item); x = true; } else { DealItemRight item = new DealItemRight(ApplicationContext, null); int sizeOfRestList = restList.Count(); int id = d.RestaurantId; foreach (Restaurant r in restList) { if (id == r.RestaurantId) { item.restId = id; item.restName = r.Name; item.restWaitTime = r.CurrentWait; item.Address = r.Address; string distance = CalculateDistance(currentLocation, r.Address); item.Distance = distance; item.SetNameR(r.Name); break; } } y = d.category; item.SetTextR(d.Title); item.SetDescriptR(d.Descript); item.SetImageR(GetImageResource(y, d.Title)); dDealLayout.AddView(item); x = false; } } // Create your application here }