public static NZazuCoordinate Parse(string latLonDecimalWithSpace) { var split = latLonDecimalWithSpace .Replace(',', '.') // german comma is allowed .Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries); if (split.Length < 2) { return(null); } var canLat = double.TryParse(split[0], NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign, NumberFormatInfo.InvariantInfo, out var lat); var canLon = double.TryParse(split[1], NumberStyles.AllowDecimalPoint | NumberStyles.AllowLeadingSign, NumberFormatInfo.InvariantInfo, out var lon); if (!canLat || !canLon) { return(null); } var result = new NZazuCoordinate { Lat = lat, Lon = lon }; if (!result.GetIsValid()) { return(null); } return(result); }
public NZazuCoordinate Parse(string source) { if (string.IsNullOrEmpty(source)) { return(null); } return(NZazuCoordinate.Parse(source)); }
public void Parse_German(string toParse, double lat, double lon) { var sut = NZazuCoordinate.Parse(toParse); sut.Should().NotBeNull(); sut.Lat.Should().Be(lat); sut.Lon.Should().Be(lon); }
public void Be_Creatable() { var sut = new NZazuCoordinate { Lat = 23, Lon = -10 }; sut.Should().NotBeNull(); sut.Lat.Should().Be(23); sut.Lon.Should().Be(-10); }
public void Be_Creatble() { var sut = new SupportGeoLocationBox(); sut.Should().NotBeNull(); var data = new NZazuCoordinate { Lat = 23.4, Lon = 56.7 }; data.Should().BeEquivalentTo(sut.Parse(sut.ToString(data))); }
public void Parse_LatLonDecimal(string toParse, double lat, double lon) { var sut = NZazuCoordinate.Parse(toParse); sut.Should().NotBeNull(); sut.Lat.Should().Be(lat); sut.Lon.Should().Be(lon); // at least it should be symetric var str = sut.ToString(); str.Should().Be(toParse); // and parse its own dog-food sut = NZazuCoordinate.Parse(str); sut.Should().NotBeNull(); sut.Lat.Should().Be(lat); sut.Lon.Should().Be(lon); }
public string ToString(NZazuCoordinate c) { return(c?.ToString() ?? string.Empty); }
public Task OpenGeoApp(NZazuCoordinate c) { return(Task.Run(() => Process.Start($"https://www.google.com/maps/place/@{c.Lat},{c.Lon},14z"))); }