###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キーを取得
- APIキーをコピー
- 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を使用しています
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。