2014-12-17 6 views
12

lösen verfolge ich Google Maps Android "loszulegen" tutorial- https://developers.google.com/maps/documentation/android/Kann nicht Symbol 'OnMapReadyCallback' Ausgabe

Aber ich auf einen Fehler kam "" Can not Symbol lösen 'OnMapReadyCallback', die eine einfache Lösung sein könnte, aber Verblüfft mich. Dies ist der Code, den ich für meine Import-Anweisungen für die App haben:

import android.app.Activity; 
import android.support.v4.app.FragmentActivity; 
import android.app.FragmentManager; 
import android.app.FragmentTransaction; 
import android.os.Bundle; 
import android.support.v4.app.ActionBarDrawerToggle; 
import android.support.v4.widget.DrawerLayout; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 

public class main extends FragmentActivity implements OnMapReadyCallback { 


    // Within which the entire activity is enclosed 
    DrawerLayout mDrawerLayout; 

    // ListView represents Navigation Drawer 
    ListView mDrawerList; 

    // ActionBarDrawerToggle indicates the presence of Navigation Drawer in the action bar 
    ActionBarDrawerToggle mDrawerToggle; 

    // Title of the action bar 
    String mTitle=""; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

Android Manifest:

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

    <uses-sdk 
     android:minSdkVersion="14" 
     android:targetSdkVersion="19" /> 
    <uses-permission android:name="android.permission.INTERNET"/> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 




     <activity android:name="temp.com.temp.Login" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".main" 
      android:label="@string/app_name" > 
     </activity> 

     <activity 
      android:name="temp.com.temp.Register" 
      android:label="@string/app_name" > 
     </activity> 

     <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="AIzaSyBCCBIgQMw3XgIK4eQHndGHHlzvcT7vgwQ"/> 
    </application> 
    <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"/> 
    <!-- The following two permissions are not required to use 
     Google Maps Android API v2, but are recommended. --> 
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
    <uses-feature 
     android:glEsVersion="0x00020000" 
     android:required="true"/> 
</manifest> 

Haupt Layout-Datei:

<android.support.v4.widget.DrawerLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/drawer_layout" 
android:layout_width="match_parent" 
android:layout_height="match_parent"> 
<!-- The main content view --> 
<FrameLayout 
    android:id="@+id/content_frame" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" /> 
<!-- Google Maps --> 
    <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.MapFragment"/> 
<!-- The navigation drawer --> 
<ListView android:id="@+id/drawer_list" 
    android:layout_width="240dp" 
    android:layout_height="match_parent" 
    android:layout_gravity="start" 
    android:choiceMode="singleChoice" 
    android:divider="@android:color/transparent" 
    android:dividerHeight="0dp" 
    android:background="#111"/> 
</android.support.v4.widget.DrawerLayout> 
+3

Vielleicht ziehen Sie eine ältere Version von Maps V2 ein. Wenn Sie Android Studio verwenden, versuchen Sie, com.google.android.gms: play-services-maps: 6.5.87'' in Ihrem 'Abhängigkeiten'-Abschluss zu kompilieren. – CommonsWare

+0

Perfekt! Das hat funktioniert, danke viel CommonsWare !! – LoneProgrammingWolf

Antwort

42

OnMapReadyCallback nur in einem kürzlich erschienenen Update herauskam zum Google Maps SDK. Wenn Sie es wünschen, müssen Sie auf eine neue Version des SDK aktualisieren.

Android Studio-Benutzer können zu compile 'com.google.android.gms:play-services-maps:6.5.87' wechseln, von the new Play Services granular dependencies, um diese neue Klasse zu erhalten und möglicherweise die Größe ihrer APK als einen Nebenvorteil zu reduzieren.

+0

Gradle gibt mir 'nicht gefunden zu finden: com.google.android.gms: play-services-maps: 6.5.87'. Wie kann ich das beheben? – udiboy1209

+0

@ udiboy1209: Stellen Sie sicher, dass Sie das neueste Google Repository über den SDK-Manager installiert haben. – CommonsWare

+0

Ja, ich habe das anderswo gefunden: P. Danke trotzdem für deine Hilfe! – udiboy1209