验证纬度和经度
我想验证纬度和经度。现在,我只是检查该值是否不为空,但我想要进行验证以检查它是否是有效的纬度或经度。
我该怎么做?
我的财产是这样的:
public string Lat
{
get {
return this._lat;
}
set
{
base.ValidationErrors.Remove("Lat");
if (String.IsNullOrWhiteSpace(value))
{
this.ValidationErrors.Add("Lat", strings.Positions_Lat_Empty);
}
this._lat = value != null ? value.Trim() : null;
}
}
public string Lng
{
get {
return this._lng;
}
set {
base.ValidationErrors.Remove("Lng");
if (String.IsNullOrWhiteSpace(value))
{
this.ValidationErrors.Add("Lng", strings.Positions_Lng_Empty);
}
this._lng = value != null ? value.Trim() : null;
}
}
I want to validate the latitude and longitude. Right now, I check just so that the value is not empty, but I want a validation to check that it is a valid latidue or longitude.
How do I do that?
My property looks like this:
public string Lat
{
get {
return this._lat;
}
set
{
base.ValidationErrors.Remove("Lat");
if (String.IsNullOrWhiteSpace(value))
{
this.ValidationErrors.Add("Lat", strings.Positions_Lat_Empty);
}
this._lat = value != null ? value.Trim() : null;
}
}
public string Lng
{
get {
return this._lng;
}
set {
base.ValidationErrors.Remove("Lng");
if (String.IsNullOrWhiteSpace(value))
{
this.ValidationErrors.Add("Lng", strings.Positions_Lng_Empty);
}
this._lng = value != null ? value.Trim() : null;
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
来自 MSDN
http://msdn.microsoft.com/en-us/library/aa578799 .aspx
在纬度设置器中,检查设置的值是否在 -90 到 90 度之间。如果没有,则抛出异常。对于您的经度,检查值是否在 -180 到 180 度之间。如果没有,则抛出异常。
From MSDN
http://msdn.microsoft.com/en-us/library/aa578799.aspx
In your setter for latitude, check if the value being set falls between -90 and 90 degrees. If it doesn't, throw an exception. For your longitude, check to see if the value falls between -180 and 180 degrees. If it doesn't, throw an exception.
或者,您可以使用构建的 GeoCooperative 类进入.NET 4(参考System.Device.dll)。它的构造函数抛出无效的经度和纬度:
Alternatively you can use GeoCoordinate class that is built into .NET 4 (reference System.Device.dll). Its constructor throws on invalid longitude and latitude:
使用双精度数,而不是字符串。如果您需要允许字符串输入,请使用 Double.TryParse(string)
Use Doubles, rather than Strings. If you need to allow String input then use
Double.TryParse(string)
通常纬度/经度是小数,而不是字符串。
typically latitude/longitude are decimals, not a strings.