如何在Android Studio中设置地图API密钥?

Dal*_*ngh 2 android google-maps android-studio

我在我的项目中使用Google地图,地图正在打开但未加载。我是android studio的新手,我不知道如何在android studio中设置地图键,
请帮帮我。

清单文件是

     <?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

<uses-permission android:name="com.truiton.supportmapfragment.permission.MAPS_RECEIVE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<!--
 The following two permissions are not required to use
 Google Maps Android API v2, but are recommended.
-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
    android:allowBackup="true"
    android:icon="@drawable/logo"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme" >


    <activity
        android:name=".activities.SplashScreen"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".activities.MainActivity" />
    <activity
        android:name=".activities.ForCustomer"
        android:label="@string/title_activity_for_customer"
        android:theme="@style/AppTheme.NoActionBar" >
    </activity>
    <activity
        android:name=".activities.CustomerSignIn"
        android:label="@string/title_activity_customer_sign_in"
        android:theme="@style/AppTheme.NoActionBar" >
    </activity>
    <activity
        android:name=".activities.Home"
        android:label="@string/title_activity_home"
        android:theme="@style/AppTheme.NoActionBar" >
    </activity>
    <activity
        android:name=".activities.RegisterCustomer"
        android:label="@string/title_activity_register_customer"
        android:theme="@style/AppTheme.NoActionBar" >
    </activity>
    <uses-feature
        android:glEsVersion="0x00020000"
        android:required="true"/>
    <meta-data
        android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />

    <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="I_REMOVED"/>
</application>
Run Code Online (Sandbox Code Playgroud)

xml文件使用像这样

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/content_frame"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <RelativeLayout
        android:id="@+id/header"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:background="#1B8AB7">

        <ImageView
            android:id="@+id/menu"
            android:layout_width="40dp"
            android:layout_height="25dp"
            android:src="@drawable/menu"
            android:layout_centerVertical="true"
            android:layout_alignParentLeft="true"
            android:layout_marginLeft="10dp"/>

        <RelativeLayout

            android:id="@+id/realtivelayout_search_bar"

            android:layout_width="250dp"
       android:layout_centerHorizontal="true"
            android:layout_height="30dp"
            android:layout_centerVertical="true"

            android:background="@drawable/saerchbarbackground"

            >

            <ImageView
                android:id="@+id/btn_searchbar"
                android:layout_width="35dp"
                android:layout_height="match_parent"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:src="@drawable/search_btn"
                android:layout_marginRight="5dp"/>
            <EditText
                android:layout_marginLeft="5dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_centerVertical="true"
                android:id="@+id/edittext_searchbar"
                android:layout_toLeftOf="@+id/btn_searchbar"
                android:hint=" search for location"
                android:singleLine="true"
                android:textColor="#000000"
                android:background="#00000000"
                />

        </RelativeLayout>

    </RelativeLayout>

    <fragment
        android:id="@+id/map"
        android:name="com.google.android.gms.maps.SupportMapFragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@+id/header"

        />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

我像您说的那样使用了地图API,但地图尚未加载。

Bee*_*ena 5

您需要在AndroidManifest.xml文件中设置地图键。<application> </application>标记之间。

      <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="Your key" />
Run Code Online (Sandbox Code Playgroud)

请参阅Android 中的 Google 地图集成以获得更好的理解。注意在清单文件中添加地图集成所需的所有权限。

要创建 google api 密钥,您将需要 sha1 密钥。如果您还没有创建它。您可以在 Android Studio 中遵循SHA1 密钥

  <!-- map -->
<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />
Run Code Online (Sandbox Code Playgroud)

<application>在清单中的标签之前添加它。


小智 5

尝试这个

<meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="@string/google_maps_api_key"/>
Run Code Online (Sandbox Code Playgroud)

build.gradle

android {

buildTypes {
    debug {
        resValue "string", "google_maps_api_key", "[YOUR DEV KEY]"
    }
    release {
        resValue "string", "google_maps_api_key", "[YOUR PROD KEY]"
    }
}}
Run Code Online (Sandbox Code Playgroud)