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

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

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

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Q&A

解決済

1回答

5120閲覧

AndroidStudiodでGoogleMapが表示されない

kurumii

総合スコア0

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

Google API

Googleは多種多様なAPIを提供していて、その多くはウェブ開発者向けのAPIです。それらのAPIは消費者に人気なGoogleのサービス(Google Maps, Google Earth, AdSense, Adwords, Google Apps,YouTube等)に基づいています。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

0グッド

0クリップ

投稿2020/06/04 05:34

編集2020/06/04 08:52

AndroidStudioでGoogle Mapを表示させたいです。

Map Activityのプロジェクトを立ち上げ、プロジェクト内のURLからAPIキーを作成し実行しましたが、エミュレータ上にMapの画像が表示されません。

APIキーやパッケージ名、SHA-1フィンガープリントが間違っていないことは確認済みです。
また、別のPC上にあるAndroidStudioで同じようにAPIキーを取得したところ、エミュレータ上にMap画面は表示されました。

SDKやAVDも確認しましたが、installしているものは全て同じなので、
Mapが表示されるPCとそうでないものの違いがわかりません。

エミュレータかAndroidStudioそのものの設定に何か誤りがあるのでしょうか。

ソースコード

MapsActivity.kt

package com.example.hogehoge import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import com.google.android.gms.maps.CameraUpdateFactory import com.google.android.gms.maps.GoogleMap import com.google.android.gms.maps.OnMapReadyCallback import com.google.android.gms.maps.SupportMapFragment import com.google.android.gms.maps.model.LatLng import com.google.android.gms.maps.model.MarkerOptions class MapsActivity : AppCompatActivity(), OnMapReadyCallback { private lateinit var mMap: GoogleMap override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_maps) val mapFragment = supportFragmentManager .findFragmentById(R.id.map) as SupportMapFragment mapFragment.getMapAsync(this) } override fun onMapReady(googleMap: GoogleMap) { mMap = googleMap val sydney = LatLng(-34.0, 151.0) mMap.addMarker(MarkerOptions().position(sydney).title("Marker in Sydney")) mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)) } }

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.mymaps"> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <meta-data android:name="com.google.android.geo.API_KEY" android:value="@string/google_maps_key" /> <activity android:name=".MapsActivity" android:label="@string/title_activity_maps"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>

SDKPlaytforms:Android 10.0、Android 9.0
SDK Tools:Android SDK Build-Tools 30-rc4
Android Emulator
Android SDK Platform-Tools
Google Play service
Intel x86 Emulator Accelerator
AVD:Pixel 3 XL API 29

色々と調べてみたのですが、解決策がわかりません。
どなたかご存知の方はいないでしょうか。

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

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

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

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

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

keicha_hrs

2020/06/04 09:21

Mapが表示されない方のエミュレーターでは、Chromeなど他のアプリは問題なく使用できているのでしょうか?ファイアウォールなどで、エミュレーターから外部への通信がブロックされているようなことはありませんか?
kurumii

2020/06/04 10:52

エミュレーターがネットに繋がっていないようでした。 システム環境設定>ネットワーク>詳細>DNS DNSに「8.8.8.8」と「8.8.4.4」を追加し、API27のエミュレータで実行したところ、うまくMapが表示されました。 API28以上の場合はネットワークに繋がらない状態が続いていますが、Map表示は確認できました。 ありがとうございました。
guest

回答1

0

自己解決

エミュレーターがネットワークに繋がっていないようでした。
システム環境設定>ネットワーク>詳細>DNS
DNSに「8.8.8.8」と「8.8.4.4」を追加し、API27のエミュレータで実行したところ、うまくMapが表示されました。(API28以上のエミュレーターではネットに接続できていないままです。)

問題がネットワーク接続にあることと、API27以下のエミュレーターでは上記の方法で解決できることがわかりました。

投稿2020/06/04 10:54

kurumii

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問