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

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

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

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

Android Studio

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

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

Android Emulator

Android EmulatorはアンドロイドのOSで起動しているアンドロイドのデバイスの機能をシミュレートするソフトウェアです。Emulatorは開発者に複数の違う設定を持ったデバイスを必要とすることなくアプリケーションを開発しテストすることが可能になります。

Q&A

解決済

2回答

7707閲覧

Android studioのエミュレーターでGoogle mapが表示出来ない

abc1222

総合スコア24

Google API

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

Android Studio

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

Google マップ

Google Mapは、Google社がオンラインで提供している地図・ローカル検索サービスです。GIS(Geographic Information System:地理情報システム)の中の「WebGIS」に該当します。地図・航空写真・地形の表示方式があり、それぞれユーザーが縮尺を調整して表示させることができます。地域の情報サービスを検索する機能やルート検索の機能も搭載されています。

Android Emulator

Android EmulatorはアンドロイドのOSで起動しているアンドロイドのデバイスの機能をシミュレートするソフトウェアです。Emulatorは開発者に複数の違う設定を持ったデバイスを必要とすることなくアプリケーションを開発しテストすることが可能になります。

0グッド

0クリップ

投稿2020/05/20 04:58

###Android studioでGoogleマップアクティビティを利用したい

android studioのGoogleマップアクティビティを利用しようとしています。
しかし、下記のようなサイトを見ながら同じ作業をしてみても、エミュレーターで地図が表示されません。

■参考にしたサイト
https://techacademy.jp/magazine/3582
https://akira-watson.com/android/google-maps-api-v2.html

■現在の表示状況
イメージ説明

■行なった作業
0. google_maps_api.xmlのリンクよりAPIキーを取得

  1. APIキーをコピー
  2. google_maps_api.xmlの</string>前に設置

表示されないので、何度か同じ作業を繰り返しましたが表示されず。
現在は、繰り返し作業して出来てしまった不要なプロジェクトも削除し、設置しているAPIのプロジェクトのみ残しています。

該当のソースコード

google_maps_api.xml

<string name="google_maps_key" templateMergeStrategy="preserve" translatable="false">ここにAPIキーを入れています</string>

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="パッケージ名が入っていました"> <!-- The ACCESS_COARSE/FINE_LOCATION permissions are not required to use Google Maps Android API v2, but you must specify either coarse or fine location permissions for the 'MyLocation' functionality. --> <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"> <!-- The API key for Google Maps-based APIs is defined as a string resource. (See the file "res/values/google_maps_api.xml"). Note that the API key is linked to the encryption key used to sign the APK. You need a different API key for each encryption key, including the release key that is used to sign the APK for publishing. You can define the keys for the debug and release targets in src/debug/ and src/release/. --> <meta-data android:name="com.google.android.geo.API_KEY" android:value="@string/google_maps_key" /> <activity android:name=".Activity_map" android:label="@string/title_activity_map"></activity> <activity android:name=".Activity_terms" /> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>

Activity_map.kt

package パッケージ名が入っていました 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 Activity_map : AppCompatActivity(), OnMapReadyCallback { private lateinit var mMap: GoogleMap override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_map) // Obtain the SupportMapFragment and get notified when the map is ready to be used. val mapFragment = supportFragmentManager .findFragmentById(R.id.map) as SupportMapFragment mapFragment.getMapAsync(this) } /** * Manipulates the map once available. * This callback is triggered when the map is ready to be used. * This is where we can add markers or lines, add listeners or move the camera. In this case, * we just add a marker near Sydney, Australia. * If Google Play services is not installed on the device, the user will be prompted to install * it inside the SupportMapFragment. This method will only be triggered once the user has * installed Google Play services and returned to the app. */ override fun onMapReady(googleMap: GoogleMap) { mMap = googleMap // Add a marker in Sydney and move the camera val sydney = LatLng(-34.0, 151.0) mMap.addMarker(MarkerOptions().position(sydney).title("Marker in Sydney")) mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)) } }

Activity_map.xml

<?xml version="1.0" encoding="utf-8"?> <fragment xmlns:android="http://schemas.android.com/apk/res/android" xmlns:map="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/map" android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".Activity_map" />

試したこと

google play serviceがインストールされているか確認
APIキーとパッケージ名とSHA-1 署名証明書フィンガープリントも間違いないか確認(Googleプラットフォームへの理解が無いので不安ではありますが)
logcatとデバッグ欄にエラーが出ていないか確認(エラーは出ていませんでしたが、初心者なので使い方が合っているかは不安)

補足情報(FW/ツールのバージョンなど)

言語はKotlinを使用しています

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

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

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

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

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

guest

回答2

0

昔の質問に今更の回答失礼します。
私も質問者様と全く同じ症状に悩んでいましたが解決いたしましたので回答させていただきます。
私の場合はMaps SDK For AndroidをGoogle Cloud Platformにて有効化し,以下のリンクのチュートリアルに従うことで無事にマップを表示させることができました(このSDKを有効化する手順もチュートリアルに含まれています)。
どうやらAndroidStudioにおいてNew -> Map Fragment を追加した際に表示されるvaluesフォルダ下のgoogle_maps_api.xmlのリンクからAPIキーを取得しそのxmlファイルに貼り付けるだけでは、APIが正常に有効化されないようです(私がなんらかのミスを犯していたのかもしれませんが)。
お役に立てれば幸いです。
https://developers.google.com/maps/documentation/android-sdk/start?hl=ja#create-project

投稿2021/08/31 14:03

JellyFish4594

総合スコア4

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

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

0

ベストアンサー

コードは正しいと思いますので、APIキー周りかエミュレーターのバグかも知れません。
実機でも試してみましたか?

投稿2020/05/23 02:33

falcom_zx

総合スコア65

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

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

abc1222

2020/05/23 02:45

回答いただきありがとうございます 実機を持っていないので、周りで持っている人を探そうと思います 何が原因かまったく分からなかったので、コードが正しいと分かっただけでも凄く助かります
abc1222

2020/05/23 07:47

実機で確認しても表示されませんでしたが、下記の方法でエミュレーターでも実機でも表示されるようになりました。 AndroidManifest.xmlの <meta-data android:name="com.google.android.geo.API_KEY" android:value="@string/google_maps_key" /> の@string/google_maps_keyへ、APIキーを直接入力 google_maps_api.xmlにAPIキーを入れておけば、自動的にAPIキーが上記の場所へ反映していたので大丈夫だと思っていたのですが、直接打ち込まないとちゃんと動作しないようです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問