XamarinからNetMAUIへ移行中(6):地図移植(3):デジタルズーム

,

xamarinの時は「zoomView」パッケージを利用して、地図の「デジタルズーム」を実装していましたが、NetMAUIではフリーで使えそうな物がなくて、独自に作成しようとしてましたが。。。

1)デジタルズームの実装方法調査

xamarinで使用して居た「zoomView」は「ScrollView」をベースに作成されていましたので、同様にScrollViewを継承したCustomVIewを作成してデジタルズーム機能を作成しようとしてました。

その過程で、NetMAUIのMapに「Scale」プロパティーがある事がわかりました。地図の位置表示や範囲設定はMapSpanを使用しますので、地図のスケールとは事なるはずです。

いつもの様にGeminiに聞いてみます。

Geminiの回答抜粋>

Scaleプロパティーとは?
NetMAUIのMapコントロールのScaleプロパティーは、地図の拡大縮小レベルを数値で設定するプロパティーです。この値を変更することで、地図の表示範囲を大きくしたり小さくしたりすることができます。

Scaleプロパティーの使い方
C#
// Mapコントロールを取得
Map map = ...;

// Scaleプロパティーに値を設定
map.Scale = 10; // 例: 10倍に拡大
コードは注意してご使用ください。

Scaleプロパティーの値:
値が大きいほど、地図は拡大されます。
値が小さいほど、地図は縮小されます。
具体的な数値の意味は、地図の種類やプロジェクションによって異なるため、ドキュメントを参照することをおすすめします。

2)Scale変更テスト=デジタルズームが出来た

早速動作確認です=あっさり動きました。悩んでいたのが全くの無駄でした。NetMAUIのMapは便利ですね。

3)もしかしたらXamarinのMapにもScaleプロパティーが有った?

もしかしたら、Xamarin時代は無駄な事をしていたのかと気になり、Geminiさんに聞いてみましたら、XamarinのMapにはScaleプロパティーは無かった様です。

「zoomView」を使って居た事は無駄ではなかった様で安心しました。

Geminiの回答抜粋>

Xamarin FormsのMapコントロールにも、Scaleプロパティーに相当する機能は存在しますが、直接的なScaleプロパティーはありません。

Xamarin Formsにおける地図の拡大縮小
Xamarin Formsでは、地図の拡大縮小は主に以下の方法で行われます。

MapSpan:
MapSpanプロパティは、地図の中心座標と表示範囲を指定します。
MapSpanのLatitudeDegrees、LongitudeDegrees、Distanceプロパティを調整することで、地図の拡大縮小を制御します。
Distanceプロパティを小さくすると拡大、大きくすると縮小になります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP