2013-03-21 31 views
6

Mam klasę aktywności z kilkoma importami, ale niektóre z nich nie są rozpoznawane w środowisku Eclipse. Widzę, że nazwa klasy importu błędów nie może zostać rozwiązana.import nie może zostać rozwiązany

To jest mój kod:

package com.ap.mapa; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import com.google.android.gms.maps.CameraUpdateFactory; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.MapFragment; 
import com.google.android.gms.maps.model.BitmapDescriptorFactory; 
import com.google.android.gms.maps.model.LatLng; 
import com.google.android.gms.maps.model.Marker; 
import com.google.android.gms.maps.model.MarkerOptions; 


public class MapaLugaresActivity extends Activity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_mapa_lugares); 


} 

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

} 

Błędy są w każdym importowaniu com.google.android.gms.maps. Jeśli piszę inną klasę jako import android.content.Context; nie ma błędów.

Jak mogę je naprawić?

Dzięki.

+2

czy dodałeś bibliotekę do swojego projektu? To Google API. nie oryginalny Android –

Odpowiedz

29

Upewnij się, że wersja API używasz jest Google API, a także o usługi Google Play zainstalowany

Google Play

  • otworzyć SDK Manager przewiń do u dołu, rozwiń "Dodatki", wybierz "Usługi Google Play", zaakceptuj i pobierz.

  • Po to jest zainstalowany, zaimportować go do Workspace

    • Importuj -> Projekt -> Android -> Istniejący kod Androida w Workspace, sprawdź kopię Workspace i wskaż gdzie folder android sdk znajduje folder < android sdk>/dodatki/google/google_play_services/libproject/google-play-services_lib
    • Hit Zakończ

Projekt

  • idź do projektu właściwości kliknij na Androida, kliknij na API Google
  • Zmienić budować drogę do włączenia ostatnio dodane słoik (Play-usługi-lib.jar google-) [znajduje się pod bin dir projektu google play-Service-lib]
  • Musisz upewnić się, że aplikacja jest zarejestrowana w Google
    • Uwaga swoją nazwę pakietu dla tej aplikacji
    • aby uzyskać ten zarejestrowany z Google jesteś w domu d, aby zweryfikować odcisk palca certyfikatu SHA1 pod numerem < android_sdk> .android jako debugowanie .keystore
    • Otwórz okno cmd (Im przy założeniu, że pracujesz w systemie Windows) przejdź do C: \ Program Files \ Java \ < JDK version> lub gdzie kiedykolwiek jest zainstalowany java wpisz to jako polecenie, aby uzyskać odcisk palca SHA1:
    • keytool -list -v -keystore "C: Program Files \ (x86) \ Android \ android-sdk.android \ debug.keystore" -alias androiddebugkey -storepass android -keypass android
      • Jeżeli cytowany ścieżka (potrzebujesz wyceny) jest ścieżką do twojego magazynu kluczy
      • Kliknij prawym przyciskiem myszy "znacznik" podświetl tekst po "SHA1:" naciśnij Enter, aby skopiować

konsoli API Google Więc z odcisk SHA1 kopiowane, trzeba będzie udać się do https: \ code.google.com/apis/console

  • pod " Google apis ", kliknij menu i kliknij" Utwórz ", nadaj projektowi API dowolną nazwę.
    • Usługi powinno pojawić się, przejdź do „Google Maps API v2 czy v3” i „Mapy Google Android API v2”, kliknij przełącznik dla jednego z nich
    • Kliknij Dostęp do API po stronie lewej, wyświetlenie ekranu "Utwórz nowy klucz Androida"
    • Pamiętaj, że SHA1: odcisk palca skopiowałeś? wklej go w obu, które pojawia się następnie < tekst linii papilarnych SHA1>; < package_name jak wspomniano wcześniej>

Wróć do projektu

Powrót w Projekcie

  • idź do AndroidManifest.xml

    • Dodaj te Uprawnienia do manifestu:

    • upewnić, zamiast com.example.androidmapsv2, dopasować własną nazwę pakietu <permission android:name="com.example.androidmapsv2.permission.MAPS_RECEIVE" android:protectionLevel="signature"></permission> <uses-permission android:name="com.example.androidmapsv2.permission.MAPS_RECEIVE"/> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <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"/>

    • Pod tagiem <application > dodać ten pod nim:

    • <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="PASTE YOUR SHA1 CERTIFICATE KEY HERE"/>

      • Gdzie wartości pochodzą z konsoli API powyżej odcisku palca SHA1

jej o wiele, zdałem sobie sprawę, że, ale to jest, jak kiedyś mapach

+0

Tak. Zrobiłem każdy krok. Ale błędy nie są naprawione. Gdy widzę Właściwości projektu na karcie Android, widzę czerwony krzyżyk po lewej stronie odniesienia biblioteki. Jest to normalne? – axmug

+1

to nie powinno być normalne ... w odwołaniu do tego: http://stackoverflow.com/a/14735711/1888585 gdzie można spróbować skopiować bibliotekę obok katalogu projektu, naciśnij przycisk Usuń, a następnie spróbuj ponownie go dodać – Vnge

+1

Ok. Teraz działa. Problemem była biblioteka usług Google z linkiem błędu. Połączyłem go ponownie i teraz wszystko działa. Dzięki za odpowiedź. – axmug

0

@axmug. Musisz dodać interfejs API Map Google za pomocą Menedżera Android SDK.

  1. Otwórz Menedżera Android SDK.
  2. Sprawdź interfejs API Map Google dla konkretnej wersji Androida użytej w projekcie:
  3. Zainstaluj i ponownie uruchom program Eclipse.

Mam nadzieję, że to pomoże!

0

We właściwościach projektu - Sprawdź, czy biblioteka Android google play-services_lib.słoik ma poprawną ścieżkę.

1

Spróbuj odpowiedź:

The import com.google.android.gms cannot be resolved

  1. Making projekt biblioteki przy użyciu Google Play słoik (odpowiedź powyżej używa maps.jar). Użyłem tego samego słoika stosowany w odpowiedzi @ Vnge IE < folderu android sdk>/dodatki/google/google_play_services/libproject/google-play-services_lib

  2. Potem projekt biblioteki znajduje się w obszarze roboczym, odnosi się do tego projektu z obecnego, tj. z powodu błędów. Sposób wykonania tego jest podany w linku w mojej odpowiedzi. A także odpowiedź @Alex w linku.

mam nadzieję, że ci to pomoże.

Powiązane problemy