2012-04-24 13 views
24

Ho lavorato a questa app per quasi un anno (progetto senior) quando ha deciso di rompere qualche giorno fa. La mia applicazione è stata sviluppata utilizzando Eclipse versione 3.7.2 a 64 bit con targeting Froyo Android 2.2, utilizzando il mio PC Windows 7 a 64 bit. Finora ho provato:L'errore "impossibile trovare lo stile mapViewStyle" persiste

  • riorganizzare il tag usi-Library nel file manifesto
  • riscrivere la mappa file xml
  • eliminare il file R.java e rinfrescante
  • ponendo l'elemento all'interno di un mapview Layout
  • reinstallare eclissi e l'androide-sdk
  • pulizia progetto
  • creazione di un file style.xml e riferimento è
  • la distribuzione su un dispositivo reale
  • di ritornare alla precedente codice

e forse più ...

Il mio codice è il seguente: gmap.xml

<?xml version="1.0" encoding="utf-8"?> 
<com.google.android.maps.MapView 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/mapview" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:clickable="true" 
android:apiKey="0xMbgnc-el963gCdpl547hdkgXUILTskZr-T5uvg" // random key posted here 
/> 

AndroidManifest .xml

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

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-sdk android:minSdkVersion="8"/> 


<application android:icon="@drawable/icon" android:label="@string/app_name"> 
    <uses-library android:name="com.google.android.maps" /> 
    <activity android:name=".PubMeActivity" 
       android:label="@string/app_name" 
       android:screenOrientation="portrait"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".MappingActivity" 
       android:label="@string/app_name"> 
    </activity> 

</application> 
</manifest> 

Apprezzo molto qualsiasi aiuto in anticipo.

+0

Hai trovato una soluzione a questo? Ho provato tutte le risposte SO, come te, con niente che ha funzionato. – Ryan

+0

In realtà ho trovato una soluzione a questo poco dopo. Visto che è passato un po 'di tempo, non ricordo EXACLTY quello che ho fatto, ma il mio codice xml della mappa corrente è modificato nel post originale. Spero che sia d'aiuto. – MechaJDI

+5

Posta la tua risposta * come risposta * non nel corpo della * domanda *. – casperOne

risposta

1

È necessario includere la libreria /path_to_android-sdk/extras/google/google_play_services/libproject/google-play-services_lib come libreria esterna nel progetto e includere anche questo file jar /path_to_android-sdk/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar.

accanto a quelle, si dovrebbe avere queste autorizzazioni:

<uses-permission android:name="android.permission.INTERNET" /> **<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>** <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

1
<permission 
android:name="com.example.app.permission.MAPS_RECEIVE" 
android:protectionLevel="signature" /> 
<uses-permission android:name="com.example.app.permission.MAPS_RECEIVE"/> 

tenta di aggiungere il sopra nel file manifesto.

1

Suggerirei di dare un'occhiata all'app demo di Maps. Viene fornito in bundle con la lib di servizi di Google Play, nel tuo gestore di SDK è sufficiente includere la casella di controllo per Samples per Google Play Services. È quindi possibile trovare i file di progetto @<android-sdk>/extras/google-play-services/samples/maps nella directory dell'SDK.

1

questi sono i permessi si dovrebbe avere normalmente per una mappa v2

<permission 
    android:name="com.example.gmapsapp.permission.MAPS_RECEIVE" 
    android:protectionLevel="signature" /> 

<uses-permission android:name="com.example.gmapsapp.permission.MAPS_RECEIVE" /> 
<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" /> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 

e la chiave API è ora utilizzato nel file manifesto con meta tag

<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="@string/apikey /> 

qui mi includo un file xml esempio di gmaps

<fragment xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/map" 
android:name="com.google.android.gms.maps.SupportMapFragment" 
android:layout_width="match_parent" 
android:layout_height="match_parent" /> 
Problemi correlati