【问题标题】:UWP MapControl Horizontal ScrollUWP MapControl 水平滚动
【发布时间】:2021-09-20 12:57:40
【问题描述】:

有没有办法更改 Windows.UI.Xaml.Controls.Maps.MapControl 的无限滚动功能?我正在尝试使用它来显示一些本地图块(某种蓝图),当我水平滚动它时,我希望它在到达末尾时停止。

谢谢。

【问题讨论】:

  • 请问您为什么使用地图控件而不是滚动查看器来执行此操作..?对于我从您想在您的应用程序中显示大尺寸蓝图的问题中得到的信息..请说明您的要求..
  • 蓝图应该具有地图功能(缩放和滚动),并且应该相应地加载它的图块。资产的结构是地图与 zoomLevel 文件夹和切片一起使用的结构:Assets/{zoom_level}/{x}_{y}。
  • 万一其他人遇到这个问题,经过大量挖掘,我得出的结论是 MapControl 仍然有很多问题(除了这个环绕属性,无法加载非二次图块会成为另一个)。如果您发现其他问题,请告诉我。 xamlmapcontrol.codeplex.com 这是一个非常棒的开源库,可以替代使用。

标签: uwp


【解决方案1】:

如果像 HttpMapTileDataSource987654321@ 那样的任何类型的图块实现,您无法停止 UWP 地图控件以询问图块

您可以做的是尝试通过在您的客户端应用程序中使用预定义的坐标在下面的方法中取消图块的查询,或者如果您已经实现了自己的图块的服务器,请在那里进行检查并返回空的透明 png 文件 1 x 1 像素。

private void DataSource_UriRequested(HttpMapTileDataSource s, MapTileUriRequestedEventArgs e)
        {
            var deferral = e.Request.GetDeferral();

            // var qk = TileSystem.TileXYToQuadKey(e.X, e.Y, e.ZoomLevel);

            e.Request.Uri = new Uri($"{url}x={e.X}&y={e.Y}&z={e.ZoomLevel}"); 

            deferral.Complete();
        }

【讨论】:

    猜你喜欢
    • 2018-03-21
    • 2018-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    • 2013-10-18
    相关资源
    最近更新 更多