Xamarin.Forms.Maps 命名空间包含在定位地图及其图钉时通常使用的 Position 结构,以及在定位地图时可以选择使用的 Distance 结构。
位置
Position 结构封装存储为纬度和经度值的位置。 此结构定义两个只读属性:
Position 对象是使用 Position 构造函数创建的,该构造函数需要使用指定为 double 值的纬度和经度参数:
Position position = new Position(36.9628066, -122.0194722);
创建 Position 对象时,纬度值将固定在 -90.0 和 90.0 之间,经度值将固定在 -180.0 和 180.0 之间。
注意
GeographyUtils 类包含将 double 值从度数转换为弧度的 ToRadians 扩展方法,以及将 double 值从弧度转换为度数的 ToDegrees 扩展方法。
距离
Distance 结构封装存储为 double 值的距离,该值表示以米为单位的距离。 此结构定义三个只读属性:
Kilometers,类型为double,表示Distance跨越的距离(以千米为单位)。Meters,类型为double,表示Distance跨越的距离(以米为单位)。Miles,类型为double,表示Distance跨越的距离(以英里为单位)。
可以使用 Distance 构造函数创建 Distance 对象,这需要指定为 double 的 meters 参数:
Distance distance = new Distance(1450.5);
或者,可以使用 FromKilometers、FromMeters、FromMiles 和 BetweenPositions 工厂方法创建 Distance 对象:
Distance distance1 = Distance.FromKilometers(1.45); // argument represents the number of kilometers
Distance distance2 = Distance.FromMeters(1450.5); // argument represents the number of meters
Distance distance3 = Distance.FromMiles(0.969); // argument represents the number of miles
Distance distance4 = Distance.BetweenPositions(position1, position2);