0

以前の質問が誤って閉じられたため、これを再質問しています。

Bing Maps WPFコントロールのズームを制限することはできますか?私の目標は、ユーザーがズームアウトしすぎて、複数の「世界」が並んで表示されるのを防ぐことです。

これは、AJAXAPIに関連する同様の質問の複製ではありません。AJAXAPIとWPFAPIは同じではなく、多くの点でまったく異なる機能を果たします。(質問をする前に)AJAXソリューションを実装しようとして失敗したため、Zoomはその1つであるように見えます。

ありがとう!

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 に答える