0

我重新问这个问题,因为我之前的问题被错误地关闭了。

是否可以限制 Bing Maps WPF 控件的缩放?我的目标是防止用户放大得太远而看到并排平铺的多个“世界”。

不是与 AJAX API 相关的类似问题的重复。AJAX API 和 WPF API 并不相同,在许多方面的功能也大不相同。Zoom 似乎是其中之一,因为尝试实施 AJAX 解决方案(在我问这个问题之前)没有成功。

谢谢!

4

3 回答 3

1

可能是这样的吗?

    private void map_ViewChangeOnFrame(object sender, MapEventArgs e)
    {
        if (this.bingMap.ZoomLevel < ViewLogic.MinimumZoomLevel)
        {
            this.bingMap.SetView(this.previousFrameCenter, ViewLogic.MinimumZoomLevel);

            e.Handled = true; // Do we need it???
        }
        else
        {
            this.previousFrameCenter = this.bingMap.Center;
        }

        if (this.DoUpdate())
        {
            // Avoiding "jerking" effect and updating only for certain zoom/pan deltas
            this.UpdateModelViewPort();
        }
    }
于 2012-09-12T18:47:50.917 回答
0

似乎 WPF 控件还没有 AJAX 或 SilverLight 强大。很多事情必须手动完成...

您可以通过处理 Map.MouseWheel 事件并在满足阈值时限制缩放增加/减少来尝试蛮力方法

我正在尝试限制整个地图视图 - 处理它很痛苦:)

于 2012-09-01T20:59:23.720 回答
0

好吧,这对我来说效果很好,没有任何图形副作用......

    private void myMap_ViewChangeOnFrame(object sender, MapEventArgs e)
    {
        double z = myMap.ZoomLevel;

        //Maximum Zoom 19.5
        if (z > 19.5)
        {
            myMap.ZoomLevel = 19.5;
        }

        //Minimum Zoom 2.5
        if (z < 2.5)
        {
            myMap.ZoomLevel = 2.5;
        }
    }
于 2017-08-22T08:22:23.487 回答