質問: ### 前提・実現したいこと Xamarin.Forms.GoogleMapsというライブラリを使用してiOS,AndroidでGoogleMapsを表示するアプリを制作しています。 そのマップ内でユーザー(端末)の現在地を表示したいです。 詳細は以下の通りです。ご教授いただければ幸いです。 ### 発生している問題・エラーメッセージ Android端末のみ現在地を表す青い点が表示されません。以下の「試したこと」の通りエミュレータでは表示される場合がありますが、実機では表示されません。 ### 該当のソースコード このサイトの通りに実装し、 現在地表示の部分を以下のようにXAMLに実装しました。 ``` ``` ### 試したこと 以下の操作を行うとAndroidエミュレーターでのみ現在地が表示されます 1.アプリを起動(この時点では現在地が表示されていない) ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/c56055d1b9a034fa8a63ac6657659f2b.png) 2.エミュレータの設定画面で現在地を編集し[SEND]を押下 3.現在地(青い点)が表示される ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/7b8feb51e7bbe69d134123c2dab449e0.png) ### 補足情報(FW/ツールのバージョンなど) ・バージョン Xamarin.Forms:2.5.0 Xamarin.Forms.Maps:2.5.0 ・エミュレーター API 25 Google APIs Intel Atom(x86_64)
回答: Xamarin.Forms.GoogleMaps の作者です。 まず、Android実機で動作させたときに、端末のステータスバーに位置情報を取得している旨を示す GPS またはピンのアイコンが表示されているかを確認してください。 それが表示されていないなら、端末の位置情報が OFF になっていたりしないかを確認してください。 表示されているなら、GPS は有効に作動しているとみなせますので、単純に位置情報が取得できないということだと思います。 また、Xamarin.Forms.GoogleMaps の Android の実装は * Google Maps Android API | Google Developers のラッパーですので、素の Google Maps Android API でも同じように期待通り動作しないなら、ますます端末(やそのGPS)が原因ということになります。↑は Java/Kotlin 向けのライブラリですが、 Xamarin.Android 向けには、 * Maps API - Xamarin | Microsoft Docs が参考になるでしょう。