本記事で紹介するパッケージ『Xam.Plugin.Geolocator』は現在『Xamarin.Es...前回の続きになります。大きな壁となっていた『Xam.Plugin.Geolocator』で現在地が取得できない問題ですが、試行錯誤の結果、解決に至りました。前回の記事に追記していってもよかったのですが、パッケージ統合の経緯にも繋がる話なので、(迷惑ですが)記念に残しておこうと思います。いうことで、今回はうまくいかなかった現在地の取得から、GoogleMap上のライン表示までご紹介していきます。発生した現象これまで下記のコードを使用して現在地の取得を行ってきました。locater.GetPositionAsync();しかし上記の非同期メソッド実行時に応答がなく、タイムアウトまでは待ちませんでしたが、結果として取得できませんでした。現象について調べてみたまずはパッケージのGitHubサイトを確認してみました。Xamarin.Essentials』の部分です。和訳はGoogle先生に任せるとして、要約すると「将来的には『Xamarin.Essentials』に統合される」となります。対処方法ということで、『Xam.Plugin.Geolocator』ではなく、『Xamarin.Essentials』を使用して現在地の取得を行うことにしました。次なる壁ところが、いざインストール、というところでプロジェクトが依存関係の最小バージョンを満たしていないことが判明しました。8.1』に、次いで全Nugetパッケージも更新したところ、下記のエラーが発生。(と言っても検索結果は2件だけ)調べてみたところ、『Xamarin.Build.Download』というパッケージの最新化で解消した事例を発見。build...依存関係に含まれていないパッケージのインストールで改善、という点に違和感は感じつつもインストールしてみました。最終的に結論から言うと、私の場合は『VisualStudioの更新』で何とかエラーが消えました。原因が不明なままですが、ひとまず開発環境も含めてすべて最新化することをオススメします。GoogleMap上のライン表示ということで、原因不明なまま何とかエラーを解消し、前回分のピン表示まで確認できたので、いよいよ本題に入っていこうと思います。※現在地取得の詳細は後ほど。今回は以下の環境で実装を行いました。/></ItemGroup></Project>ViewGoogleMap上にラインを表示するには『Polyline』というクラスを使用します。MVVMでの実装を行うために、Viewには『BindingPolylinesBehavior』を追加します。Polylines}"/></maps:Map.Behaviors></maps:Map></ContentPage>Activity『Xamarin.Essentials』使用にあたり、初期化が必要になります。implementations}}}ViewModel現在地の取得も含めて、コードを見て頂いた方が早いかと...。targetPosition;Pins.Add(pin);}}}現在地の取得を行っているのは下記のコードです。Geolocation.GetLocationAsync();『Xam.Plugin.Geolocator』を使用していた時よりも、可読性に優れましたね。実装としては、ラインを引く地点を『Polyline』オブジェクトに設定し、バインドするだけです。2地点間にラインを引くことが出来ました。次回は今回行ったライン表示を活用していきます。必須サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。コメントデータの処理方法の詳細はこちらをご覧ください。プロフィールAuthor:ささきゲームとC#が大好き。遊んだ分だけエンジニアシェアTOPへ。