显示比例线 - ArcGIS Runtime SDK - Xamarin.Forms

Display scale line - ArcGIS Runtime SDK - Xamarin.Forms

我正在使用适用于 .Net 的 ArcGIS Runtime SDK 第一版 - Xamarin.Forms(nuget 包 here)。

我的一个要求是在地图上显示一条基本比例线。目前我还没有发现任何内置功能。 这似乎很棘手,因为每个设备都有不同的尺寸,不同的分辨率......关于如何实现这个的任何想法?

好的,几个小时后,我发现 MapView 组件有一个 属性 UnitsPerPixel 完全符合我的需要:

我添加了一个固定宽度的小网格(代表比例):

<Grid  HeightRequest="10" WidthRequest="114" x:Name="Legend">
...
</Grid>

然后当视点改变时,我计算这个网格代表的距离:

MapView.ViewpointChanged += (sender, args) =>
{
    ScaleVal.Text = $"{Math.Round(Legend.Width * MapView.UnitsPerPixel, 0)}m";
};

完整解决方案here