显示比例线 - 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。
我正在使用适用于 .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。