2013-07-19 6 views
5

Google APIキーをバージョン2用に作成し、それをマニフェストに使用しましたが、デバイスにマップを表示できません。V2のAndroid Map APIキーを作成しました。地図を表示できません。

私はGoogleマップのドキュメントに記載されているすべてを守っています。また私はthis linkを使用しました。

MainActivity.java。

パッケージcom.example.googlenewmap;

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

    import com.google.android.gms.maps.GoogleMap; 
    import com.google.android.gms.maps.SupportMapFragment; 
    import com.google.android.gms.maps.model.BitmapDescriptorFactory; 
    import com.google.android.gms.maps.model.LatLng; 
    import com.google.android.gms.maps.model.MarkerOptions; 

    public class MainActivity extends FragmentActivity { 
     static final LatLng HAMBURG = new LatLng(53.558, 9.927); 
     static final LatLng KIEL = new LatLng(53.551, 9.993); 
     private GoogleMap map; 

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

      map = ((SupportMapFragment) getSupportFragmentManager() 
        .findFragmentById(R.id.map)).getMap(); 

      if (map != null) { 
       map.addMarker(new MarkerOptions().position(HAMBURG) 
         .title("Hamburg")); 
       map.addMarker(new MarkerOptions() 
         .position(KIEL) 
         .title("Kiel") 
         .snippet("Kiel") 
         .icon(BitmapDescriptorFactory 
           .fromResource(R.drawable.ic_launcher))); 
      } 

     } 

    } 

マニフェストファイル

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

     <uses-sdk 
      android:minSdkVersion="14" 
      android:targetSdkVersion="17" /> 

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

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

     <!-- Copied from Google Maps Library/AndroidManifest.xml. --> 
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
     <uses-permission android:name="android.permission.INTERNET" /> 
     <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 

     <!-- External storage for caching. --> 
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

     <!-- My Location --> 
     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
     <!-- Maps API needs OpenGL ES 2.0. --> 
     <!-- Maps API needs OpenGL ES 2.0. --> 

     <uses-feature 
      android:glEsVersion="0x00020000" 
      android:required="true" /> 
     <!-- End of copy. --> 

     <application 
      android:allowBackup="true" 
      android:icon="@drawable/ic_launcher" 
      android:label="@string/app_name" 
      android:theme="@style/AppTheme" > 
      <uses-library android:name="com.google.android.maps" /> 
      <!-- 
      ** You need to replace the key below with your own key. ** 
      The example key below will not be accepted because it is not linked to the 
      certificate which you will use to sign this application. 
      See: https://developers.google.com/maps/documentation/android/start 
      for instructions on how to get your own key. 
      --> 

      <meta-data 
       android:name="com.google.android.maps.v2.API_KEY" 
       android:value="api key" /> 

      <activity 
       android:name="com.example.googlenewmap.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> 
     </application> 

    </manifest> 

私はこの問題をどのように修正することができますか?

+0

レイアウトのXMLファイルはどのようなものですか?あなたは何を得ているのですか? – Sean

+0

'FragmentActivity'を拡張して標準の' Activity'を拡張する必要はありません。 'SupportMapFragment'を使う必要はありません。 'MapFragment'を使用してください。あなたのminsdkは14ではないから11未満です – Raghunandan

+0

@Raghunandan返信ありがとう、しかし私はこれを既に使用していますが動作していませんでした – Michel

答えて

1

どのようなキーを使用していますか?

キーには2種類のデバッグキーとリリースキーがあります。 apkに署名する際に、リリースキーを使用したいとします。そのために、あなたは、署名されたAPKとそれを比較したい

ステップ1:

言ってやるが、例えば、あなたのapk名がAであり、あなたは、いくつかに作成され、署名とA.apkすなわちA.keystoreのためのキーストアを作成していますEドライブでそれを考えてみましょう。

ステップ2:

は、CドライブにJDKへ探し(Windowsの考慮とCドライブを割り当てる)

C:\プログラムファイル\のJava \ jdk1.7.0 \ binに> keytoolの-list -v -keystore E:\ A.keystoreは

を-aliasだから、SHA-1のフィンガープリントを作成します

デバッグキーを使用すると、いつものように抽出した正常です。

+0

さようなら!私が試してみましょう!このシャドウ – Michel

+0

は、アプリケーションに関連するキーストアファイルを取得することができませんあなたは私がそれを得るだろう私に教えてください – Michel

+0

キーストアファイルは、カスタム署名apk.file->エクスポート - >アンドロイド - >輸出アンドロイドアプリケーション - >プロジェクト名> skip to next->次に場所を参照して.keystoreで拡張し、パスワードといくつかの要件などを記入してください。そのキーストアをマップと比較してください。 – Shadow

関連する問題