2014-12-17 2 views
12

Я следующий Google Maps для Android «начать» tutorial- https://developers.google.com/maps/documentation/android/не удается разрешить SYMBOL выпуск «OnMapReadyCallback»

Но я наткнулся на ошибку «» Не удается разрешить символ «OnMapReadyCallback», который может быть легко исправить, но меня озадачивает. Это код у меня есть для моих операторов импорта для приложения:

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> 

Главная Схема файла:

<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

Возможно, вы используете более старую версию Maps V2. Если вы используете Android Studio, попробуйте 'compile 'com.google.android.gms: play-services-maps: 6.5.87'' в вашем закрытии' dependencies'. – CommonsWare

+0

Отлично! Это сработало, спасибо большое CommonsWare! – LoneProgrammingWolf

ответ

42

OnMapReadyCallback только что вышел в недавнем обновлении к SDK Maps V2. Если вы этого хотите, вам нужно перейти на новую версию SDK.

Пользователи Android Studio могут перейти на compile 'com.google.android.gms:play-services-maps:6.5.87', от the new Play Services granular dependencies, чтобы получить этот новый класс и, возможно, уменьшить размер APK в качестве побочного эффекта.

+0

Gradle дает мне 'не удалось найти: com.google.android.gms: play-services-maps: 6.5.87'. Как это разрешить? – udiboy1209

+0

@ udiboy1209: Убедитесь, что у вас установлен последний репозиторий Google через диспетчер SDK. – CommonsWare

+0

Да, я нашел это исправление в другом месте: P. В любом случае, спасибо за вашу помощь! – udiboy1209

Смежные вопросы