質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

Q&A

解決済

1回答

3382閲覧

Xamarin.Forms.GoogleMapsで地図が表示されなくなった(Androidのみ)

Mille

総合スコア9

Xamarin

Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

0グッド

0クリップ

投稿2017/07/16 13:49

###前提・実現したいこと
https://github.com/amay077/Xamarin.Forms.GoogleMaps
からサンプルをダウンロードし、そのままではビルドが通らなかったので
パッケージを更新したらビルドが通るようになりましたが、
端末によっては地図が表示されず、地図が表示される場所に
Xamarin.Forms.GoogleMaps
という文字列だけが表示されます。

正しく表示させるためにはどのような対応をすれば良いでしょうか?

###試したこと
ちょっと前までは、XamarinStudioを使っており、最初の頃は普通に表示されていた記憶があるのですが、途中で諸々のパッケージを更新した頃から表示されなくなったと思います。

今回、OSをSierraにバージョンアップしたのを契機に、Visual Studio for Macで開発環境を再構築すれば解決するのではと淡い期待を抱いていたのですが、解決しなかったので質問させていただきました。

###補足情報(言語/FW/ツール等のバージョンなど)
Visual Studio for Mac 7.0.1(build24)
Mac Note Pro
macOS Sierra(10.12.5)

パッケージ
Xamarin.Forms (2.3.4.247)
Xamarin.Forms.GoogleMaps(2.1.0-beta7)

正しく表示される端末例
SOL26

正しく表示されない端末例
SC-06D

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Xamarin.Forms.GoogleMaps の開発者です。

地図が表示される場所に
Xamarin.Forms.GoogleMaps
という文字列だけが表示されます。

これは、 「Xamarin.Forms.GoogleMaps」という文字が、緑っぽい背景とともに表示される 、という状態だと思いますが、ライブラリの実装からは、 Xamarin.FormsGoogleMaps.Init() が呼び出されていない、ことが考えられます。サンプルでは https://github.com/amay077/Xamarin.Forms.GoogleMaps/blob/master/XFGoogleMapSample/Droid/MainActivity.cs#L24 です。

それでも改善しない場合は、改善しない端末に Google Play Services がインストールされていないまたは古いことが考えられます。
これは Xamarin というより Java での Google Maps Android API の範疇になるので、一度、

を試されることをお勧めします。

> 最初の頃は普通に表示されていた記憶があるのですが、途中で諸々のパッケージを更新した頃から表示されなくなった

とのことなので、 Xamarin.Forms.GoogleMaps をバージョンアップした → 求められる Google Play services のバージョンが上がった → 端末にはそのバージョンの Google Play services は入っていない、という可能性はあると思います。

投稿2017/07/16 15:15

amay077

総合スコア1075

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Mille

2017/07/16 23:57

開発者自らご回答ありがとうございます。 今回サンプルのソースはGoggleMapのAPIKey以外はいじっていないのと、 MainActivity.cs#L24も目視で確認したのでXamarin.FormsGoogleMaps.Init() を呼んでないということはないと思います。 Android Studioから新規プロジェクトを作り、Google Maps Activityを選択し、 GoggleMapのAPIKeyだけいじって実行すると、Xamarin.Forms.GoogleMaps で地図が正常に表示されない端末では、 My Applicationの実行にはGoogle Play開発者サービスの更新が必要です。 というメッセージと更新ボタン更新ボタンが表示され、 ボタンを押すとGooglePlayStoreのGooglePlay開発者サービスのページが表示され、 少なくとも今回問題が起きていた端末の1つでは、そこで更新を選ぶことで Xamarinで地図が表示されるようになりました。ありがとうございます。 ただ、気になることとして、自作のアプリの場合、Android Studioのプロジェクトのように、 自動的に更新ボタンを表示する方法がわからないので、地図が正しく表示されない場合は自力でGoogle Play開発者サービスを更新してもらうように案内を出そうと思っているのですが、GooglePlayを立ち上げて、検索欄でGoogle Play開発者サービスを打ち込んでも、同じページにはたどり着けず、どういう案内を出したら良いか困っています。Xamarinに関する質問の範疇を超えてしまうのですが、もしわかればご教授宜しくお願いします。
amay077

2017/07/17 16:38

JavaというかGoogle Play servicesを直接使う場合は、必要なバージョンが端末にインストールされていないと「更新」ボタンが表示されるのですが、 Xamarin.Forms.GoogleMaps ではそれは表示されません。 FormsGoogleMaps.Init() を呼び出した後、 FormsGoogleMaps.IsInitialized プロパティが true でなかったら初期化が失敗している=Google Play servicesの更新が必要、とみなすことはできます。 Google Play開発者サービスのインストールは https://play.google.com/store/apps/details?id=com.google.android.gms へ誘導することでできると思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問