/// <summary> /// Adresse and location name search /// </summary> /// <param name="term">Search string (start of adress or location)</param> /// <returns>List of adresses and locations with geographical coordinates</returns> public IActionResult GeolocationByName(string term) { var locations = stedstjeneste.FinnLokalitet(term); foreach (var locality in locations) { locality.ProductTypeLevel = NavneTyper.GetLevelForType(locality.Product); //stedstjeneste.FinnLokalitet mixes up x and y // - cannot change stedstjeneste.FinnLokalitet because mobile app uses the service locality.Koordinat.SwapXAndY(); locality.Koordinat = (GoogleMercatorKoordinat)CoordinateTransformer.TransformCoordinate(locality.Koordinat, (int)Koordinatsystem.GoogleMercator); } return(Ok(locations)); }
/// <summary> /// Gårds- og Bruksnummer search /// </summary> /// <param name="gbnrString">Gårds og bruksnummer in the format 'kommunenummer_gårdsnummer_bruksnummer</param> /// <returns>List of gårds og bruksnummer (0 or 1 items) with geographical coordinates</returns> public IActionResult GetRealEstateData(string gbnrString) { var values = gbnrString.Split('_'); var kommuneNr = int.Parse(values[0]); var gaardsnr = int.Parse(values[1]); var bruksNr = int.Parse(values[2]); var locations = stedstjeneste.GetRealEstateData(kommuneNr, gaardsnr, bruksNr, 0, 0); // (festNr = 0, seksjonsNr = 0); var location = locations.FirstOrDefault(); var coords = new List <Koordinat>(); foreach (var coord in location.Koordinatliste) { coords.Add( (GoogleMercatorKoordinat) CoordinateTransformer.TransformCoordinate(coord, (int)Koordinatsystem.GoogleMercator)); } location.Koordinatliste = coords; return(Ok(locations)); }