0

MinZoomLevelMaxZoomLevelは取得専用プロパティです。

はシールされているため、継承MapControlしてオーバーライドすることはできません。MapControl

私は別のものを使用してMapTileSourceそこに設定することができZoomLevelRange、それは機能します。

しかし、主な問題は、Bing マップを使用するデフォルトの設定方法MinZoomLevelとは? そのフィールドはbingマップではnullであるため、bingマップでは設定できません。MaxZoomLevelMapControlMapTileSource

編集:また、MapTileSource設定したときとは異なりZoomLevelRangeますが、どちらも役に立ちません。その外側にスクロールすることはできますが、データは取得できません。つまり、それは単なるデータの制限です。スクロール制限ではありません。

4

1 に答える 1

0

MinZoomLevel と MaxZoomLevel は読み取り専用で、設定できません。

ZoomLevelChanged イベントをリッスンしてみて、ズーム レベルが制限したい範囲を超えた場合は、目的の範囲内に戻すことができますか?

何かのようなもの:

MapControl mapControl = new MapControl();
mapControl.ZoomLevelChanged += MapControl_ZoomLevelChanged;

private void MapControl_ZoomLevelChanged(MapControl sender, object args)
{
     const int maxZoom = 7;
     const int minZoom = 5;

     if (mapControl.ZoomLevel > maxZoom)
     {
         mapControl.ZoomLevel = maxZoom;
     }
     else if(mapControl.ZoomLevel < minZoom)
     {
         mapControl.ZoomLevel = minZoom;
     }
}
于 2016-08-31T01:32:35.940 に答える