web-dev-qa-db-ja.com

Android Google Map API V2ブランク画面

こんにちは、私は最近、Google Map API v2に関するVogellaのチュートリアルに従いました。コードは彼に似ています。ただし、何らかの理由でマップが空白で表示され、logcatでもエラーは表示されません。私もこれに従いました video SHA1フィンガープリントを取得し、マニフェストファイル内にAPIキーを配置しました。デバッグキーストアC:\ Users\UserName.Android\debug.keystoreを使用しました。これは、Eclipse-> Windows-> Preference-> Android-> Build。

また、新しいAPIキーを生成しましたが、まだ機能しません。

マニフェストファイル:

<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    package="com.example.barcodelibrary"
    Android:versionCode="1"
    Android:versionName="1.0" >

    <uses-sdk
        Android:minSdkVersion="11"
        Android:targetSdkVersion="15" />

    <permission
        Android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
        Android:protectionLevel="signature" />

    <uses-feature
        Android:glEsVersion="0x00020000"
        Android:required="true" />
    <uses-feature Android:name="Android.hardware.camera" />
    <uses-feature Android:name="Android.hardware.camera.autofocus" />
    <uses-feature Android:name="Android.hardware.camera.flash" />

    <uses-permission Android:name="Android.permission.INTERNET"/>
    <uses-permission Android:name="Android.permission.CAMERA"/>
    <uses-permission Android:name="Android.permission.INTERNET"/>
    <uses-permission Android:name="Android.permission.VIBRATE"/>
    <uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission Android:name="Android.permission.SET_DEBUG_APP"></uses-permission>
    <application
        Android:icon="@drawable/ic_launcher"
        Android:label="@string/app_name"
        Android:theme="@style/AppTheme" >
        <activity
            Android:name=".HomeActivity"
            Android:label="@string/title_activity_home" >
            <intent-filter>
                <action Android:name="Android.intent.action.MAIN" />

                <category Android:name="Android.intent.category.LAUNCHER" />
            </intent-filter>

        </activity>
        <activity Android:name=".ScanActivity"/>
        <activity Android:name=".MapActivity"/>
        <activity Android:name=".BarcodeHelper"/>
        <activity Android:name=".JsonHelper"/>

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

</manifest>

これは、マップアクティビティのレイアウトファイルです。

    <RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    tools:context=".MapActivity" >

        <fragment
        Android:id="@+id/map"
        Android:layout_width="match_parent"
        Android:layout_height="match_parent"
        class="com.google.Android.gms.maps.MapFragment" />

</RelativeLayout>

これは私のマップアクティビティです。

public class MapActivity extends Activity 
{
    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_map);

        map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
                .getMap();
            Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG)
                .title("Hamburg"));
            Marker kiel = map.addMarker(new MarkerOptions()
                .position(KIEL)
                .title("Kiel")
                .snippet("Kiel is cool")
                .icon(BitmapDescriptorFactory
                    .fromResource(R.drawable.ic_launcher)));
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) 
    {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.activity_map, menu);
        return true;
    }
}

ありがとう!

21
user1832478

マニフェストにはいくつかの許可の問題があります。まず、以下ではパッケージ名をパッケージに置き換える必要があります。また、uses-permission

 <permission
        Android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
        Android:protectionLevel="signature" />

パッケージ名ごとに、-

<permission
          Android:name="com.example.barcodelibrary.permission.MAPS_RECEIVE"
          Android:protectionLevel="signature"/>
<uses-permission Android:name="com.example.barcodelibrary.permission.MAPS_RECEIVE"/>

最後に、 Getting Started Guide -の 許可の指定 セクションから次の許可が欠落しているようです。

<uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission Android:name="com.google.Android.providers.gsf.permission.READ_GSERVICES"/>
<uses-permission Android:name="Android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION"/>
27
iagreen

私にとっては、 Google Maps Android API v2 。同じと思われる別のGoogle Maps APIを使用していました。

9
martn_st

それでもうまくいかなかった場合は、これに従ってください

マップの空白画面の問題を解決する:こんにちは、私は非常に長い間この空白画面を経験し、想像できるすべての解決策を試しました。今では解決し、手順は次のとおりでした:

1 - このチュートリアル のすべての手順を慎重に実行します。

2-空白の画面がまだ同じ場合は、c:\ Users\youUser.Android\debug.keystoreに存在するキーストアファイルを削除します<-このファイルを削除します

3-eClipsでIDEこのファイルを自動的に再作成するようにアプリを再構築します。 SHA1を実行し、通常のキー生成手順に従います。5-実際のデバイスで実行します。マップが表示されることを願っています。

1
Ala'a Karss

次の構成を備えたamulatorでアプリを実行する必要があります。..1)Google API(x86システムイメージ)2)Use Host GPUを示すcheckBoxを選択します。

1

Google Developer Consoleに正しいSHA-1証明書のフィンガープリントを追加する必要がありました。

  1. 現在の指紋を表示します:keytool -list -keystore ~/.Android/debug.keystore

  2. 指紋をコピーします(例:48:6F:55:B7:C5:E4:54:E1:29:D5:E1:E1:E2:A8

  3. Google Developer Console の特定のアプリの資格情報に追加します

1
whirlwin

マップにも同様の問題があります。すべてのlibとキーの問題を修正した後、「Google」とラベル付けされた白いスクリーンが見られました。問題は、MapFragmentScrollViewに入れることでした。 ScrollViewを削除すると、すべて正常に機能します。地図を見ることができます。

1
BHuelse

私の場合、それはGitHubから複製した既存のアプリであり、APIキーは変更しませんでした。私にとってうまくいったのは、署名証明書のSHA-1を有効にすることです。これらの 短い手順 に従って、SHA-1フィンガープリントを取得します。

次に、主な開発者に、関連するAPIキーの許可パッケージにSHA-1フィンガープリントを追加してもらいました here 。その後、同じ方法で再度ビルドを行いましたが、うまくいきました。

0
ErnestScribbler

カスタムキーソートをデフォルトのキーソート(Eclipse)と同じに設定します。ドキュメントに記載されているとおり、GoogleコンソールでAPIキーを登録します。

0
patriot10

他の投稿の私の答え は実際に私のために働くものです、私はアプリ署名証明書sha-1を貼り付けます

0
Andres Felipe

Android Studio:必ず正しい階層にキーを配置してください

enter image description here

0
itzhar

ほとんどの人は、 Google Maps Android開発者コンソールのAPI V2 )を有効にすることを忘れてしまいました。

0
Oladipo Olasemo