1

編輯:空白屏幕的Android 2.2谷歌地圖V2

我轉到我的20 +項目是嘗試使用谷歌地圖Android版V2。改變鍵和東西后,現在,它的工作。我不知道是什麼使這項工作,但謝謝大家。我有一個密鑰庫,關鍵是正確的。我想它奇蹟般地固定不知何故。恩,謝謝你們。

我正在搜索2天,但無法解決此問題。我做了所有事情,但是,這個應用程序無法工作。

我希望我的應用程序能夠在Android 2.2及更高版本上工作。就像它說「如果你在8級創建你的應用程序,它將支持95%的市場」。

這裏是我的截圖和源代碼:

我粘貼的源代碼是最容易得到的。我從網上拿走了這個。

下面是命令的輸出

keytool -list -keystore <path> 
***************** WARNING WARNING WARNING ***************** 
* The integrity of the information stored in your keystore * 
* has NOT been verified! In order to verify its integrity, * 
* you must provide your keystore password.     * 
***************** WARNING WARNING WARNING ***************** 

倉庫類型:JKS密鑰庫提供:SUN

Your keystore contains 1 entry 

androiddebugkey, 15.Mar.2013, PrivateKeyEntry, 
Certificate fingerprint (SHA1): xxx 

的main.xml文件:

<?xml version="1.0" encoding="utf-8"?> 
<com.google.android.maps.MapView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/mapView" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:clickable="true" 
    android:apiKey="AIzaSyDim-x5Gxxx" 
/> 

清單文件:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.androidhive.googlemaps" 
    android:versionCode="1" 
    android:versionName="1.0" > 
<uses-sdk android:minSdkVersion="8" /> 
<application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 
     <!-- Add Google Map Library --> 
     <uses-library android:name="com.google.android.maps" /> 
     <activity 
      android:name=".AndroidGoogleMapsActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 
    <!-- Allow to connect with internet --> 
    <uses-permission android:name="android.permission.INTERNET" /> 
</manifest> 

的java文件(無需粘貼這一切,但我想這是最好的粘貼全部)

http://pastebin.com/yF95Rcbd

這裏有我的截圖:

http://i.imgur.com/gExHpUG.png

http://i.imgur.com/AMOXKhr.png

http://i.imgur.com/Aqon97Y.png

我想這個應用程序編譯到Android 4.2.2,但我想,想使它在2.2及以上工作。

這裏的屬性窗口的Android的標籤,以確保公正:

http://i.imgur.com/ht0CQwT.png

這裏是我的日誌

03-20 07:01:20.145: W/System.err(956): at java.lang.Thread.run(Thread.java:856) 
03-20 07:01:20.665: W/System.err(956): IOException processing: 26 
03-20 07:01:20.665: W/System.err(956): java.io.IOException: Server returned: 3 
03-20 07:01:20.665: W/System.err(956): at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115) 
03-20 07:01:20.675: W/System.err(956): at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473) 
03-20 07:01:20.675: W/System.err(956): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117) 
03-20 07:01:20.675: W/System.err(956): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994) 
03-20 07:01:20.675: W/System.err(956): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702) 

這些線路重複所有的時間。

非常感謝。 您的帖子似乎包含格式不正確的代碼,代碼」誤 我刪除空行。對不起,我搞砸代碼。

+0

谷歌地圖API V2停止服務。改用Google Maps V3 API。 – Raptor 2013-03-20 06:10:31

+1

我正在嘗試使用適用於Android v2的谷歌地圖 – 2013-03-20 06:11:37

+0

@citizen_of_noobville您是否得到了答案! – Janmejoy 2013-03-20 07:02:55

回答

1

http://i.imgur.com/ht0CQwT.png 看到的快照。您還沒有添加谷歌Play服務庫需要顯示Google Android Map V2請下載並添加該庫,然後再試一次

另請參閱目標您的目標是4.2.2並且您正在2.2訪問它將目標更改爲2.2並且使用支持片段。

謝謝,

+0

仍然一樣。完成了這個。http://i.imgur.com/GfnMDMn.png – 2013-03-20 07:00:55

0

與Android mapapi v2的工作,最主要的原因是,你必須添加播放服務到您的應用程序,象下面這樣:在佈局

<permission 
     android:name="com.example.androidmapview.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" /> 

    <uses-permission android:name="com.example.androidmapview.permission.MAPS_RECEIVE" /> 

使用片段類:

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

,改變你的清單:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.androidmapview" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="16" /> 

    <permission 
     android:name="com.example.androidmapview.permission.MAPS_RECEIVE" 
     android:protectionLevel="signature" /> 

    <uses-permission android:name="com.example.androidmapview.permission.MAPS_RECEIVE" /> 
    <uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.example.androidmapview.MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <meta-data 
    android:name="com.google.android.maps.v2.API_KEY" 
    android:value="AIzxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"></meta-data> 
    </application> 

    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true" /> 
</manifest> 

的活動:

import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 

import com.google.android.gms.maps.SupportMapFragment; 

public class MainActivity extends FragmentActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     SupportMapFragment fragment = new SupportMapFragment(); 
     getSupportFragmentManager().beginTransaction() 
       .add(android.R.id.content, fragment).commit(); 
    } 
} 

欲瞭解更多信息檢查link這將解釋你詳細瞭解API V2

+0

完成了。仍然只是一個空白的屏幕與網格。 – 2013-03-20 07:04:28

+0

@citizen_of_noobville它會告訴你在模擬器嘗試在設備中的空白! – Janmejoy 2013-03-20 07:05:01

+0

@citizen_of_noobville它會要求更新播放服務。所以最好檢查一下設備! – Janmejoy 2013-03-20 07:05:51

0

你缺少的API KEY權限和元數據。

請仔細閱讀本:https://developers.google.com/maps/documentation/android/start

+0

我意外刪除了我的清單文件,因爲stackoverflow代碼錯誤。我知道你們會罵我,但還是一樣的。錯誤也是一樣的。 – 2013-03-20 07:39:06

+0

將您的清單與https://code.google.com/p/android-maps-extensions/source/browse/android-maps-extensions-demo/AndroidManifest.xml一起Comapre並從中刪除android:apiKey =「AIzaSyDim-x5Gxxx」 main.xml – 2013-03-20 09:45:00

+0

當我這樣做時,應用程序崩潰。 – 2013-03-20 09:52:10

1

我已經解決了這個問題,

  • 打開谷歌API控制檯
  • 選擇API訪問
  • 修改允許從您的API密鑰的Android應用
  • 使用包名稱更改包名稱
  • 示例:00:06:A5:0E: 04:A2:1E:8F:FE:6B:7F:46:23:C3:XX:XX:XX:XX:XX:XX; com.example.androidmapview
0

我解決我的黑屏問題放大/縮小按鈕這樣的。(它發生後,我改變了我的包名)

  1. 刪除密鑰庫文件
  2. 創建一個新的密鑰存儲文件
  3. 獲取SHA1指紋
  4. 轉到API控制檯
  5. 創建一個新的Android應用程序。
  6. 粘貼您的指紋
  7. 使用給定的API密鑰清單檔案中的

這爲我工作