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プロパティを小さくすると拡大、大きくすると縮小になります。
コメントを残す