public static Coordinate GetCoord(string ngrGridRef) { LatLng latlng; if (ngrGridRef.Length == 7) { var irishref = new IrishRef(ngrGridRef); latlng = irishref.ToLatLng(); } else { var osref = new OSRef(ngrGridRef); latlng = osref.ToLatLng(); } return new Coordinate(latlng.Latitude, latlng.Longitude); }
private object GetPlace(dynamic parameters) { var place = (Place)Database.Open().Places.FindById((int)parameters.id); OSRef gridRef = null; if(!string.IsNullOrEmpty(place.GridReference)) try { gridRef = new OSRef(Regex.Replace(place.GridReference, @"\s+", "")); } catch { //dont care } var representation = new HalBuilder(Request.Url.ToString()) .AddPublicPropertiesOf(place) .ConditionallyAddProperty("longitude", gridRef != null, ()=>gridRef.ToLatLng().Longitude) .ConditionallyAddProperty("latitude", gridRef != null, ()=>gridRef.ToLatLng().Latitude) .Build(); return Response.AsJson(representation); }