protected override void InternalProcess(AppContext appContext) { if (Id.DbTrain == null) { return; } if (Id.DbTrain.EncodedPolyline == null) { Id.DbTrain.EncodedPolyline = EncodedPolyline; } if (EncodedPolyline != null) { Station?currentStation = appContext.TrainStationLinks.Where(sl => sl.TrainId == Id.DbTrain.Id && sl.FromId == 0).Select(sl => sl.To).FirstOrDefault(); double currentDistance = 0; while (currentStation != null) { Polyline polyline = new Polyline(EncodedPolyline, Projection.WebMercatorHungary); ProjVector2?stationPosition = null; while (stationPosition == null && currentDistance <= polyline.MeterLength / 1000) { stationPosition = PlacesAPI.Search(currentStation, polyline.AtDistance(currentDistance), searchRadius, 3); currentDistance += searchRadius; } if (stationPosition != null) { stationPosition.IntoProjection(Projection.LatitudeLongitude); var newDist = polyline.ProjectedDistance(stationPosition, 0.5); if (newDist != null) { currentDistance = newDist.Value; appContext.TrainStations.Where(st => st.TrainId == Id.DbTrain.Id && st.StationId == currentStation.Id).FirstOrDefault().Distance = currentDistance; } currentStation.Latitude = stationPosition.X; currentStation.Longitude = stationPosition.Y; if (newDist >= polyline.MeterLength / 1000) { return; } } currentStation = appContext.TrainStationLinks.Where(sl => sl.TrainId == Id.DbTrain.Id && sl.FromId == currentStation.Id && sl.ToId != 0).Select(sl => sl.To).FirstOrDefault(); } } }
public void OpenPlaces() { MainLayout.Visibility = ViewStates.Gone; VisitedLayout.Visibility = ViewStates.Gone; placesLayout.Visibility = ViewStates.Visible; PlacesAPI places = new PlacesAPI(); mygps gps = new mygps(LocationManager, this, SD); List <string> Points = new List <string>(); Points = places.Getinfo(gps.GetCoordinate(), "museum"); Points.AddRange(places.Getinfo(gps.GetCoordinate(), "cafe")); Points.AddRange(places.Getinfo(gps.GetCoordinate(), "restaurant")); if (Points.Count == 0) { string error = "Could Find any interesting places or no connection to google!"; Points.Add(error); } ArrayAdapter <string> arrayAdapter = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleListItem1, Points); placeslistview.Adapter = arrayAdapter; }
public JsonResult GetPlaceId(string searchString) { PlacesAPI placesAPI = new PlacesAPI(); return(Json(placesAPI.getPlaceID(searchString), JsonRequestBehavior.AllowGet)); }
public JsonResult GetDetailsFromPlaceID(string placeIdString) { PlacesAPI placesAPI = new PlacesAPI(); return(Json(placesAPI.getDetailsFromPlaceID(placeIdString), JsonRequestBehavior.AllowGet)); }
static void SetApiKeyOnlyIOS() { const string apiKey = "YOUR_API_KEY_HERE"; PlacesAPI.SetIosApiKey(apiKey); }