【问题标题】:How do I store the location of an object in C#如何在 C# 中存储对象的位置
【发布时间】:2020-06-01 11:28:40
【问题描述】:
我希望在 C# 中存储对象的经度和纬度,我想知道有什么好的方法可以做到这一点。我可以想象我可以简单地为经度和纬度初始化一个双精度值。在 Android 中,有一个 Location 类可用于保存对象的经度和纬度,但我似乎没有为 C# 找到类似的东西。你建议我可以使用什么?
【问题讨论】:
-
GeoCoordinate 类呢?它仅在 .NET Framework 中可用,但它应该可以工作。如果您需要跨平台解决方案,您可以重新创建 GeoCoordinate 类或使用 this 作为基础
标签:
c#
asp.net
location
latitude-longitude
【解决方案1】:
这里有几个选项:
GeographyPoint - 代表一个地理点。
命名空间信息
OData 代表开放数据协议。它由 Microsoft 发起,现已成为 ISO 批准和 OASIS 标准。 OData 支持创建和使用 REST API,它允许使用 URL 识别并在数据模型中定义的资源由 Web 客户端使用简单的 HTTP 请求发布和编辑。
所以多用于RestApis
DBGeography - 表示大地(圆形地球)坐标系中的数据。
System.Data.Spatial 命名空间的一个非常方便的特性是 DbGeography 类,它允许您使用“地图”上的点或形状/多边形。
GeoCoordinate - 表示由经纬度坐标确定的地理位置。还可能包括高度、准确性、速度和路线信息。
命名空间信息
System.Device.Location 命名空间允许应用程序开发人员使用单个 API 轻松访问计算机的位置。位置信息可能来自多个提供商,例如 GPS、Wi-Fi 三角测量和手机信号塔三角测量。 System.Device.Location 类提供单个 API 来封装计算机上的多个位置提供程序,并支持它们之间的无缝优先级划分和转换。因此,使用此 API 的应用程序开发人员无需针对特定硬件配置定制应用程序。