web-dev-qa-db-fra.com

Impossible de résoudre le problème du symbole 'OnMapReadyCallback'

Je suis le didacticiel "Mise en route" de Google Maps Android - https://developers.google.com/maps/documentation/Android/

Mais je suis tombé sur une erreur "" Impossible de résoudre le symbole 'OnMapReadyCallback', ce qui pourrait être une solution facile, mais me laisse perplexe. Voici le code que j'ai pour mes instructions d'importation pour l'application:

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);

Manifest Android: 

<?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>

Fichier de disposition principal:

<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>
12
LoneProgrammingWolf

OnMapReadyCallback vient de paraître dans une mise à jour récente du SDK de Maps V2. Si vous le souhaitez, vous devez effectuer une mise à niveau vers une version suffisamment nouvelle de ce SDK.

Les utilisateurs d'Android Studio peuvent basculer vers compile 'com.google.Android.gms:play-services-maps:6.5.87', à partir de les nouvelles dépendances granulaires de Play Services , pour obtenir cette nouvelle classe et éventuellement réduire la taille de leur APK comme avantage supplémentaire.

42
CommonsWare

Utilisez le dernier référentiel Google dans votre SDK. Ajoutez également la dépendance à Google Map: implementation com.google.Android.gms:play-services-maps:15.0.1. Vous pouvez trouver la dernière version de dépendance à partir d'ici .

0
Edward Muturi