2016-03-02 69 views
0

即時嘗試創建一個基本的谷歌地圖活動,但當我嘗試運行它到我的智能手機,我得到一個空白的活動(圖片鏈接附件)。什麼即時做錯了?也許我的API密鑰有問題?谷歌地圖中的空白活動

SCREENSHOT IMAGE LINK

在此先感謝。

的AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.fa2015.mapstest"> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <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="_MyKey_"/> 

     <activity 
      android:name=".MainActivity" 
      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> 
    </application> 
    <uses-permission android:name="android.permission.INTERNET"></uses-permission> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> 
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission> 
</manifest> 

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?> 

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/map" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:name="com.google.android.gms.maps.SupportMapFragment" /> 

MainActivity.java

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; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 

    public class MainActivity extends AppCompatActivity implements OnMapReadyCallback { 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 

      SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map); 
      mapFragment.getMapAsync(this); 
     } 

     @Override 
     public void onMapReady(GoogleMap map) { 
      map.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Marker")); 
     } } 

回答

0

當您定義Google地圖權限時出現問題時,或者在Google API控制檯中允許的API的配置錯誤時,通常會發生此問題。

請確保您在控制檯中啓用Google地圖版本2 for Android,而不是Web上的版本。也請檢查您的許可,這裏有一個相關的SO票並遇到了黑屏:Android Google Map API V2 Blank Screen

下面是谷歌地圖的Android API v2的樣本演示應用程序:https://github.com/googlemaps/android-samples

+0

謝謝!這真的很有用 – ferrvn

0

我想你錯過了API密鑰。 我假設你使用android studio(地圖活動)。創建項目後,您必須爲您的項目創建一個API密鑰,並且需要在項目中進行鏈接。 要創建API密鑰,您必須訪問google_maps_api.xml中提供的鏈接(來自您的項目)。

一旦您創建了API密鑰,那麼您必須將該API密鑰插入google_maps_api.xml文件(可能是要求輸入密鑰的最後一行)。

Follow this pic for reference