2016-12-03 7 views
0

この問題を解決しようとしました。私はどこからでも検索しましたが、解決策はまだ見つかりませんでした。私はこのトピックについて多くのフォーラムがあることを理解していますが、私は解決策を考え出すことはできません。MapActivityを利用したアンドロイドアプリケーションのGoogle APIでエラーが発生しました

私が抱えている問題は、エミュレータでアンドロイドアプリケーションを実行すると、マップの領域が灰色のタイルでしか表示されないということです。私は問題がGoogle APIのキーである可能性が高いとオンラインで読んだが、それを生成するために複数の方法を試した(SHA1を取得するためにAndroidスタジオの端末を使用し、AndroidスタジオにGoogleへのリンクを生成させて、キー)。

私は誰かが私を助けることを望んでいる、私はここでかなり必死です!

ここは私のアクティビティクラス パッケージcom.bignerdranch.android.taskmanager;

import android.os.Bundle; 

import com.google.android.maps.MapActivity; 

public class AddLocationMapActivity extends MapActivity { 

    public static final String ADDRESS_RESULT = "address"; 

    @Override 
    protected void onCreate(Bundle bundle) { 
     super.onCreate(bundle); 
     setContentView(R.layout.add_location); 
    } 

    @Override 
    protected boolean isRouteDisplayed() { 
     return false; 
    } 

    @Override 
    protected boolean isLocationDisplayed() { 
     return true; 
    } 

} 

これはレイアウトです:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:orientation="vertical" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent"> 

    <TextView 
     android:id="@+id/location_title" 
     .../> 

    <EditText 
     android:id="@+id/task_address" 
     .../> 

    <Button 
     android:id="@+id/map_location_button" 
     .../> 

    <com.google.android.maps.MapView 
     android:id="@+id/map" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/map_location_button" 
     android:layout_above="@+id/use_this_location_button" 
     android:clickable="true" 
     android:apiKey="AIza.................................." /> 

    <Button 
     android:id="@id/use_this_location_button" 
     .../> 

</RelativeLayout> 

その後、これはマニフェストファイルである:

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

    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
    <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" /> 

    <application 
     android:name=".TaskManagerApplication" 
     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.maps.v2.API_KEY" 
      android:value="AIza..........................." /> 
     <activity android:name=".ViewTasksActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 

       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 
     </activity> 
     <activity android:name=".AddTaskActivity" 
        android:text="@string/add_task"/> 
     <activity android:name=".AddLocationMapActivity" 
        android:text="@string/add_location_to_task"/> 

     <uses-library android:name="com.google.android.maps" /> 
    </application> 

</manifest> 

その後build.gradleファイル:

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 'Google Inc.:Google APIs:24' 
    buildToolsVersion "24.0.2" 

    defaultConfig { 
     applicationId "com.bignerdranch.android.taskmanager" 
     minSdkVersion 16 
     targetSdkVersion 24 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 

dependencies { 
    compile fileTree(include: ['*.jar'], dir: 'libs') 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:24.2.1' 
    compile 'com.google.android.gms:play-services-maps:10.0.1' 
    compile 'com.google.android.gms:play-services-location:10.0.1' 
} 

そして最後に、これはMonitoによって生成されるものですR:

12-02 22:37:10.351 22387-22537/com.bignerdranch.android.taskmanager W/System.err: IOException processing: 26 
12-02 22:37:10.351 22387-22537/com.bignerdranch.android.taskmanager W/System.err: java.io.IOException: Server returned: 3 
12-02 22:37:10.352 22387-22537/com.bignerdranch.android.taskmanager W/System.err:  at android_maps_conflict_avoidance.com.google.googlenav.map.BaseTileRequest.readResponseData(BaseTileRequest.java:115) 
12-02 22:37:10.352 22387-22537/com.bignerdranch.android.taskmanager W/System.err:  at android_maps_conflict_avoidance.com.google.googlenav.map.MapService$MapTileRequest.readResponseData(MapService.java:1473) 
12-02 22:37:10.352 22387-22537/com.bignerdranch.android.taskmanager W/System.err:  at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.processDataRequest(DataRequestDispatcher.java:1117) 
12-02 22:37:10.352 22387-22537/com.bignerdranch.android.taskmanager W/System.err:  at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher.serviceRequests(DataRequestDispatcher.java:994) 
12-02 22:37:10.352 22387-22537/com.bignerdranch.android.taskmanager W/System.err:  at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702) 
12-02 22:37:10.352 22387-22537/com.bignerdranch.android.taskmanager W/System.err:  at java.lang.Thread.run(Thread.java:818) 

私は私がこの問題を見つけ出すのに役立ちますPERSON TO FOREVER感謝されます! Grey tiles instead of map

答えて

0

com.google.android.maps.MapViewを使用しているマップは、Google Map APIのv1です。残念ながら、公式には推奨されていません。あなたがここにバージョン2

あるGoogle Maps APIの新しいバージョンを使用する必要があります

これは私の問題である Google Map V2

+0

ためのチュートリアルです!ありがとうございました!しかし、あなたはこの特定のコードをV2に "どのように"翻訳するかについての指針を持っていますか? – AlwaysWin

+0

V2のバージョンがとても違うので、私の答えでチュートリアルを追加しました。 –

関連する問題