Google maps API v2 | Forum Android | AndroidWorld

ATTENZIONE:
L’Utente assume la totale responsabilità anche giuridica per ogni attività da lui svolta e per ogni contenuto pubblicato e/o scambiato. (leggi le condizioni d’uso).

Si invitano gli Utenti a non pubblicare o scambiare alcuna informazione che permetta di risalire, anche indirettamente, alla propria identità o all’identità di terzi (nome, cognome, residenza, email…) e divulgare alcun tipo di dato sensibile proprio o di terzi.

X

Discussione Google maps API v2

  1. #1
    Wlf
    Wlf non è in linea
    Android Pro
    Registrato dal
    Apr 2012
    Residenza
    RE
    Dispositivo
    Nessuno
    Operatore
    TIM
    Messaggi
    654
    Grazie!
    1
    Ringraziato 76 volte in 67 post

    Google maps API v2

    Salve,
    stavo facendo qualche test con le Google maps API v2; per non introdurre io stesso degli errori ho utilizzato l'esempio mapdemo che potete trovare nella cartella sdk\extras\google\google_play_services\samples\map s dopo aver installato dall'SDK le Google Play Services.

    I Problema:
    Quando installate le Google Play Services (Rev 16) l'SDK vi dice che ci sono le verioni oggiornate di Android SDK Tools (22.3 Update available 22.6.2), Android SDK Platform-tools (19 Update available 19.0.1), API19 SDK Platform (19.1 Update available 19.3), API19 ARM EABI v7a System Image (19.1 Update available 19.2), Android support Library (19 Update available 19.1). Se malauguratamente confermate gli aggiornamenti vi dirà che sarà necessario aggiornare l'ADT dalla versione 22.3 alla 22.6; se lo aggiornate vi ritroverete che se create un nuovo progetto vi verrà generato in automatico un Fragment Layout e del nuovo codice dentro la MainActivity per la gestione del Fragment.

    II Problema:
    Se siete rimasti indenni col primo problema, una volte che avete seguito tutte le indicazioni della guida Google maps API v2 e lanciate l'applicazione di test importata dalla cartella sample dei Google Play Services se lanciate l'applicazione probabilmente vi dirà "L'applicazione xyz si è bloccata in modo anomalo"!

    Io utilizzo le API19, ma ho provato anche con le API17 e API16. La Google Play Services è Rev 16.
    Presumo che per far funzionare il tutto ci sia una combinazione ad-hoc delle librerie, ma ancora non l'ho trovata.
    Altrimenti potrebbe essere dovuto alla API key, l'ho generata con la mia chiave SHA1 individuata con il comando "keytool -list -v -keystore mystore.keystore" concatenata con ";com.example.mapdemo"; presumo che l'API key funzioni anche di utenti non ancora registrati per pubblicare, sbaglio?

    Se qualche anima pia ha la pazienza di dare qualche suggerimento per far funzionare le Google maps API v2 gliene sarei riconoscente!

    PS. Ovviamente sto testando l'apk su un dispositivo hardware perché sull'emulatore mancano le Google Play Services; veramente ho installato l'apk delle Google Play Services con l'ADB "ADB install nome.apk" ma non funzionano perché sono una versione 2.0.12, troppo vecchia rispetto a quella che ho nel SDK. Sarebbe utile casomai anche un link per un APK installabile sull'emulatore per far funzionare le Google Play Services con una versione più recente.

    Grazie! 8)

  2. #2
    Android
    Registrato dal
    Mar 2014
    Residenza
    Trapani
    Dispositivo
    Nexus 10
    Operatore
    H3G
    Messaggi
    74
    Grazie!
    0
    Ringraziato 14 volte in 12 post
    Quote Originariamente inviato da Wlf Visualizza il messaggio
    Salve,
    Se siete rimasti indenni col primo problema, una volte che avete seguito tutte le indicazioni della guida Google maps API v2 e lanciate l'applicazione di test importata dalla cartella sample dei Google Play Services se lanciate l'applicazione probabilmente vi dirà "L'applicazione xyz si è bloccata in modo anomalo"!
    Però mancano delle informazioni
    In particolare manca il dettaglio dell'errore: in Eclipse il logcat cosa ti dice?
    Magari è solo una questione di versione di librerie, ma nel caso il logcat dovrebbe indicartelo.

  3. #3
    Wlf
    Wlf non è in linea
    Android Pro
    Registrato dal
    Apr 2012
    Residenza
    RE
    Dispositivo
    Nessuno
    Operatore
    TIM
    Messaggi
    654
    Grazie!
    1
    Ringraziato 76 volte in 67 post
    Quote Originariamente inviato da Ettohg Visualizza il messaggio
    In particolare manca il dettaglio dell'errore: in Eclipse il logcat cosa ti dice?
    Lo sto testando su un dispositivo scollegato dal PC e non posso collegarlo per fare il debug dell'errore!

    Magari è solo una questione di versione di librerie, ma nel caso il logcat dovrebbe indicartelo.
    Al limite proverò con qualche altro dispositivo collegandolo!

    Altrimenti provo con ADB WiFi!

    --- Edit ---
    Provato!

    Allego logcat:


    codice:
    04-03 21:06:42.541: D/AndroidRuntime(31660): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
    04-03 21:06:42.541: D/AndroidRuntime(31660): CheckJNI is OFF
    04-03 21:06:42.541: I/AndroidRuntime(31660): JNI options: '-Xjniopts:warnonly'
    04-03 21:06:42.561: D/dalvikvm(31660): Trying to load lib libjavacore.so 0x0
    04-03 21:06:42.561: D/dalvikvm(31660): Added shared lib libjavacore.so 0x0
    04-03 21:06:42.571: D/dalvikvm(31660): Trying to load lib libnativehelper.so 0x0
    04-03 21:06:42.571: D/dalvikvm(31660): Added shared lib libnativehelper.so 0x0
    04-03 21:06:42.721: D/AndroidRuntime(31660): Calling main entry com.android.commands.pm.Pm
    04-03 21:06:42.731: D/AndroidRuntime(31660): Shutting down VM
    04-03 21:06:42.731: D/dalvikvm(31660): GC_CONCURRENT freed 95K, 18% free 474K/572K, paused 1ms+1ms, total 4ms
    04-03 21:06:42.731: D/dalvikvm(31660): Debugger has detached; object registry had 1 entries
    04-03 21:06:43.111: W/SurfaceFlinger(91): Timed out waiting for hw vsync; faking it
    04-03 21:06:43.141: D/AndroidRuntime(31672): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
    04-03 21:06:43.141: D/AndroidRuntime(31672): CheckJNI is OFF
    04-03 21:06:43.141: I/AndroidRuntime(31672): JNI options: '-Xjniopts:warnonly'
    04-03 21:06:43.161: D/dalvikvm(31672): Trying to load lib libjavacore.so 0x0
    04-03 21:06:43.161: D/dalvikvm(31672): Added shared lib libjavacore.so 0x0
    04-03 21:06:43.171: D/dalvikvm(31672): Trying to load lib libnativehelper.so 0x0
    04-03 21:06:43.171: D/dalvikvm(31672): Added shared lib libnativehelper.so 0x0
    04-03 21:06:43.331: D/AndroidRuntime(31672): Calling main entry com.android.commands.am.Am
    04-03 21:06:43.331: D/dalvikvm(31672): Note: class Landroid/app/ActivityManagerNative; has 157 unimplemented (abstract) methods
    04-03 21:06:43.341: I/ActivityManager(353): START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.example.mapdemo/.MainActivity} from pid 31672
    04-03 21:06:43.391: D/Launcher(3284): send boardcast(com.android.systembar.enable_hide) from ulauncher..
    04-03 21:06:43.391: D/AndroidRuntime(31672): Shutting down VM
    04-03 21:06:43.391: D/TabletStatusBar(500): statusbar receive showbar broadcast : com.android.systembar.enable_hide
    04-03 21:06:43.391: D/dalvikvm(31672): GC_CONCURRENT freed 96K, 17% free 506K/604K, paused 0ms+0ms, total 3ms
    04-03 21:06:43.391: D/jdwp(31672): Got wake-up signal, bailing out of select
    04-03 21:06:43.391: D/dalvikvm(31672): Debugger has detached; object registry had 1 entries
    04-03 21:06:43.411: D/dalvikvm(31682): Late-enabling CheckJNI
    04-03 21:06:43.421: I/ActivityManager(353): Start proc com.example.mapdemo for activity com.example.mapdemo/.MainActivity: pid=31682 uid=10098 gids={50098, 3003, 1015, 1028}
    04-03 21:06:43.451: D/dalvikvm(31682): Debugger has detached; object registry had 1 entries
    04-03 21:06:43.451: I/qtaguid(353): Failed write_ctrl(s 1 10098) res=-1 errno=1
    04-03 21:06:43.451: W/NetworkManagementSocketTagger(353): setKernelCountSet(10098, 1) failed with errno -1
    04-03 21:06:43.511: W/dalvikvm(31682): Unable to resolve superclass of Lcom/example/mapdemo/BasicMapDemoActivity; (136)
    04-03 21:06:43.511: W/dalvikvm(31682): Link of class 'Lcom/example/mapdemo/BasicMapDemoActivity;' failed
    04-03 21:06:43.511: E/dalvikvm(31682): Could not find class 'com.example.mapdemo.BasicMapDemoActivity', referenced from method com.example.mapdemo.DemoDetailsList.<clinit>
    04-03 21:06:43.511: W/dalvikvm(31682): VFY: unable to resolve const-class 217 (Lcom/example/mapdemo/BasicMapDemoActivity;) in Lcom/example/mapdemo/DemoDetailsList;
    04-03 21:06:43.511: D/dalvikvm(31682): VFY: replacing opcode 0x1c at 0x000d
    04-03 21:06:43.511: W/dalvikvm(31682): Exception Ljava/lang/NoClassDefFoundError; thrown while initializing Lcom/example/mapdemo/DemoDetailsList;
    04-03 21:06:43.511: D/AndroidRuntime(31682): Shutting down VM
    04-03 21:06:43.511: W/dalvikvm(31682): threadid=1: thread exiting with uncaught exception (group=0x41855930)
    04-03 21:06:43.511: E/AndroidRuntime(31682): FATAL EXCEPTION: main
    04-03 21:06:43.511: E/AndroidRuntime(31682): java.lang.ExceptionInInitializerError
    04-03 21:06:43.511: E/AndroidRuntime(31682):     at com.example.mapdemo.MainActivity.onCreate(MainActivity.java:73)
    04-03 21:06:43.511: E/AndroidRuntime(31682):     at android.app.Activity.performCreate(Activity.java:5113)
    04-03 21:06:43.511: E/AndroidRuntime(31682):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
    04-03 21:06:43.511: E/AndroidRuntime(31682):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
    04-03 21:06:43.511: E/AndroidRuntime(31682):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
    04-03 21:06:43.511: E/AndroidRuntime(31682):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
    04-03 21:06:43.511: E/AndroidRuntime(31682):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
    04-03 21:06:43.511: E/AndroidRuntime(31682):     at android.os.Handler.dispatchMessage(Handler.java:99)
    04-03 21:06:43.511: E/AndroidRuntime(31682):     at android.os.Looper.loop(Looper.java:137)
    04-03 21:06:43.511: E/AndroidRuntime(31682):     at android.app.ActivityThread.main(ActivityThread.java:5041)
    04-03 21:06:43.511: E/AndroidRuntime(31682):     at java.lang.reflect.Method.invokeNative(Native Method)
    04-03 21:06:43.511: E/AndroidRuntime(31682):     at java.lang.reflect.Method.invoke(Method.java:511)
    04-03 21:06:43.511: E/AndroidRuntime(31682):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    04-03 21:06:43.511: E/AndroidRuntime(31682):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
    04-03 21:06:43.511: E/AndroidRuntime(31682):     at dalvik.system.NativeStart.main(Native Method)
    04-03 21:06:43.511: E/AndroidRuntime(31682): Caused by: java.lang.NoClassDefFoundError: com.example.mapdemo.BasicMapDemoActivity
    04-03 21:06:43.511: E/AndroidRuntime(31682):     at com.example.mapdemo.DemoDetailsList.<clinit>(DemoDetailsList.java:30)
    04-03 21:06:43.511: E/AndroidRuntime(31682):     ... 15 more
    04-03 21:06:43.521: D/dalvikvm(353): GC_CONCURRENT freed 2048K, 25% free 13461K/17884K, paused 2ms+8ms, total 135ms
    04-03 21:06:43.521: W/ActivityManager(353):   Force finishing activity com.example.mapdemo/.MainActivity
    04-03 21:06:44.021: W/ActivityManager(353): Activity pause timeout for ActivityRecord{425ede10 u0 com.example.mapdemo/.MainActivity}
    04-03 21:06:44.051: D/Launcher(3284): send boardcast(com.android.systembar.disable_hide) from ulauncher..
    04-03 21:06:45.061: W/SurfaceFlinger(91): Timed out waiting for hw vsync; faking it
    04-03 21:06:46.101: W/SurfaceFlinger(91): Timed out waiting for hw vsync; faking it
    Ultima modifica di Wlf; 03-04-2014 a 21: 12

  4. #4
    Android
    Registrato dal
    Mar 2014
    Residenza
    Trapani
    Dispositivo
    Nexus 10
    Operatore
    H3G
    Messaggi
    74
    Grazie!
    0
    Ringraziato 14 volte in 12 post
    Provato!

    Allego logcat:
    ...
    04-03 21:06:43.511: E/AndroidRuntime(31682): FATAL EXCEPTION: main
    04-03 21:06:43.511: E/AndroidRuntime(31682): java.lang.ExceptionInInitializerError
    04-03 21:06:43.511: E/AndroidRuntime(31682): at com.example.mapdemo.MainActivity.onCreate(MainActi vity.java:73)
    ...
    04-03 21:06:43.511: E/AndroidRuntime(31682): Caused by: java.lang.NoClassDefFoundError: com.example.mapdemo.BasicMapDemoActivity
    04-03 21:06:43.511: E/AndroidRuntime(31682): at com.example.mapdemo.DemoDetailsList.<clinit>(DemoD etailsList.java:30)
    Queste che ho estrapolato sono le due righe che contano.
    Ci possono essere due motivi per questi errori:
    - Il primo è nel codice, ovvero stai facendo riferimento a delle classi che sono definite ma non hai importato le librerie corrispondenti. Per sapere quali devi vedere cosa c'è alla riga 73 nel file MainActivity.java . Oppure hai importato le librerie ma non hai messo nel manifest (nel tag application)
    codice:
    <uses-library android:name="com.google.android.maps" />
    - Il secondo è un problema che ogni tanto capita quando si fa l'upgrade del plugin ADT di Eclipse. Per questo ci sono soluzioni diverse e onestamente quando mi è capitato ho googlato per trovare quella giusta Alcuni link:
    Android java.lang.NoClassDefFoundError - Stack Overflow
    Android error - Caused by: java.lang.NoClassDefFoundError: android.support.v4.util.SparseArrayCompat - Stack Overflow

  5. #5
    Wlf
    Wlf non è in linea
    Android Pro
    Registrato dal
    Apr 2012
    Residenza
    RE
    Dispositivo
    Nessuno
    Operatore
    TIM
    Messaggi
    654
    Grazie!
    1
    Ringraziato 76 volte in 67 post
    Quote Originariamente inviato da Ettohg Visualizza il messaggio
    Queste che ho estrapolato sono le due righe che contano.
    Ci possono essere due motivi per questi errori:
    - Il primo è nel codice, ovvero stai facendo riferimento a delle classi che sono definite ma non hai importato le librerie corrispondenti. Per sapere quali devi vedere cosa c'è alla riga 73 nel file MainActivity.java .
    Alla riga 73 del MainActivity c'è un normalissimo:
    ListAdapter adapter = new CustomArrayAdapter(this, DemoDetailsList.DEMOS);
    Il codice non l'ho toccato, è quello dell'esempio fornito con l'installazione dei "Google play services"; ho importato la libreria google-play-services_lib ed aggiunto nel Java build path la libreria android-support-v13.jar (ho provato anche con la android-support-v4).
    Considera che se mancassero delle librerie non riuscirei a compilare l'apk, mi rimarrebbero le crocette rosse.

    Oppure hai importato le librerie ma non hai messo nel manifest (nel tag application)
    codice:
    <uses-library android:name="com.google.android.maps" />
    Non c'era e anche mettendolo non ho notato alcun miglioramento!
    L'esempio fornito dall'SDK presumo non avesse bisogno di questa modifica del manifest per funzionare.

    - Il secondo è un problema che ogni tanto capita quando si fa l'upgrade del plugin ADT di Eclipse. Per questo ci sono soluzioni diverse e onestamente quando mi è capitato ho googlato per trovare quella giusta Alcuni link:
    Android java.lang.NoClassDefFoundError - Stack Overflow
    Android error - Caused by: java.lang.NoClassDefFoundError: android.support.v4.util.SparseArrayCompat - Stack Overflow
    Sto utilizzando la versione 22.3 ed ho evitato di aggiornarla alla 22.6 altrimenti c'è il problema con la creazione del Fragment Layout e parti di codice inutili nella creazione di un nuovo progetto.

    Invece di MapDemo ho provato con un semplicissimo progetto sottostate:
    codice:
    package it.prova.provamap;
    
    import android.os.Bundle;
    import android.support.v4.app.FragmentActivity;
    
    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 MainActivity extends FragmentActivity  {
        static final LatLng HAMBURG = new LatLng(53.558, 9.927);
        static final LatLng KIEL = new LatLng(53.551, 9.993);
        private GoogleMap map;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
                    .getMap();
                
                if (map!=null){
                  Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG)
                      .title("Hamburg"));
                  Marker kiel = map.addMarker(new MarkerOptions().position(KIEL)
                      .title("Kiel")
                      .snippet("Kiel is cool")
                      .icon(BitmapDescriptorFactory
                          .fromResource(R.drawable.ic_launcher)));
                }
            
            
        }
    
    
    }
    Da errore alla riga 24 come puoi vedere:

    codice:
    04-04 19:08:29.562: I/Google Maps Android API(5335): Google Play services client version: 4323000
    04-04 19:08:29.572: I/Google Maps Android API(5335): Google Play services package version: 4324032
    04-04 19:08:30.312: D/dalvikvm(5335): GC_CONCURRENT freed 218K, 6% free 4274K/4524K, paused 3ms+34ms, total 60ms
    04-04 19:08:32.252: D/dalvikvm(5335): GC_CONCURRENT freed 272K, 7% free 4484K/4780K, paused 3ms+7ms, total 689ms
    04-04 19:08:32.922: D/dalvikvm(5335): GC_CONCURRENT freed 343K, 8% free 4589K/4964K, paused 4ms+3ms, total 29ms
    04-04 19:08:34.092: D/AndroidRuntime(5335): Shutting down VM
    04-04 19:08:34.092: W/dalvikvm(5335): threadid=1: thread exiting with uncaught exception (group=0x41855930)
    04-04 19:08:34.102: E/AndroidRuntime(5335): FATAL EXCEPTION: main
    04-04  19:08:34.102: E/AndroidRuntime(5335): java.lang.RuntimeException:  Unable to start activity  ComponentInfo{it.prova.provamap/it.prova.provamap.MainActivity}:  java.lang.NullPointerException
    04-04 19:08:34.102: E/AndroidRuntime(5335):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
    04-04 19:08:34.102: E/AndroidRuntime(5335):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
    04-04 19:08:34.102: E/AndroidRuntime(5335):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
    04-04 19:08:34.102: E/AndroidRuntime(5335):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
    04-04 19:08:34.102: E/AndroidRuntime(5335):     at android.os.Handler.dispatchMessage(Handler.java:99)
    04-04 19:08:34.102: E/AndroidRuntime(5335):     at android.os.Looper.loop(Looper.java:137)
    04-04 19:08:34.102: E/AndroidRuntime(5335):     at android.app.ActivityThread.main(ActivityThread.java:5041)
    04-04 19:08:34.102: E/AndroidRuntime(5335):     at java.lang.reflect.Method.invokeNative(Native Method)
    04-04 19:08:34.102: E/AndroidRuntime(5335):     at java.lang.reflect.Method.invoke(Method.java:511)
    04-04  19:08:34.102: E/AndroidRuntime(5335):     at  com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
    04-04 19:08:34.102: E/AndroidRuntime(5335):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
    04-04 19:08:34.102: E/AndroidRuntime(5335):     at dalvik.system.NativeStart.main(Native Method)
    04-04 19:08:34.102: E/AndroidRuntime(5335): Caused by: java.lang.NullPointerException
    04-04 19:08:34.102: E/AndroidRuntime(5335):     at it.prova.provamap.MainActivity.onCreate(MainActivity.java:24)
    04-04 19:08:34.102: E/AndroidRuntime(5335):     at android.app.Activity.performCreate(Activity.java:5113)
    04-04 19:08:34.102: E/AndroidRuntime(5335):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
    04-04 19:08:34.102: E/AndroidRuntime(5335):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
    04-04 19:08:34.102: E/AndroidRuntime(5335):     ... 11 more
    Gli da fastidio il .getMap() ma il codice dovrebbe essere corretto.
    Mi confermi che se tu provi con lo stesso codice ed ADT 22.3 ti funziona correttamente?

  6. #6
    Android
    Registrato dal
    Mar 2014
    Residenza
    Trapani
    Dispositivo
    Nexus 10
    Operatore
    H3G
    Messaggi
    74
    Grazie!
    0
    Ringraziato 14 volte in 12 post
    Quote Originariamente inviato da Wlf Visualizza il messaggio
    Mi confermi che se tu provi con lo stesso codice ed ADT 22.3 ti funziona correttamente?
    Se posti anche l'XML della activity provo esattamente con il tuo codice e ti dico.
    Ti chiedo anche l'XML perché il fatto che dia un null sulla getmap però mi fa pensare che non riesca a trovare R.id.map, il che potrebbe voler dire che l'id non è corretto (lo vedi colorato in blu in Eclipse?) oppure che l'id pur essendo corretto ha come riferimento un tipo la cui libreria non è caricata o referenziata correttamente.
    Se il progetto non ha dati particolari puoi provare a postare uno zip della cartella (magari fai un clean project prima, così elimini peso dallo zip) e provo direttamente quello

  7. #7
    Wlf
    Wlf non è in linea
    Android Pro
    Registrato dal
    Apr 2012
    Residenza
    RE
    Dispositivo
    Nessuno
    Operatore
    TIM
    Messaggi
    654
    Grazie!
    1
    Ringraziato 76 volte in 67 post
    Quote Originariamente inviato da Ettohg Visualizza il messaggio
    Se posti anche l'XML della activity provo esattamente con il tuo codice e ti dico.
    Pronti!
    codice:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    
        <fragment
            android:name="com.google.android.gms.maps.SupportMapFragment"
            android:id="@+id/map"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </LinearLayout>
    Ti chiedo anche l'XML perché il fatto che dia un null sulla getmap però mi fa pensare che non riesca a trovare R.id.map, il che potrebbe voler dire che l'id non è corretto (lo vedi colorato in blu in Eclipse?) oppure che l'id pur essendo corretto ha come riferimento un tipo la cui libreria non è caricata o referenziata correttamente.
    E' in blu, Eclipse lo vede perfettamente (anche con CTRL-Spazio); le librerie sono referenziate correttamente, anche perché se non le hai oppure ci sono senza la spunta (v) verde il progetto non lo compili e ti da errore!
    Se il progetto non ha dati particolari puoi provare a postare uno zip della cartella (magari fai un clean project prima, così elimini peso dallo zip) e provo direttamente quello
    Ho fatto un mio progetto, provaMap, che è elementarissimo ed ha il java del precedente post e l'xml di questo post, e mapDemo che è un esempio preso dall'SDK che è molto più complesso. Per escludere che in pochissime righe di codice avevo fatto qualche stronzata ho utilizzato l'esempio, ma visto che non funziona neppure quello sono ritornato al mio progetto iniziale per togliere della carne dal fuoco, visto che l'esempio è molto più complesso.
    Se ci vosse la necessità ti giro lo zip, ovviamente con il clean per eliminare i file della compilazione!

  8. #8
    Android
    Registrato dal
    Mar 2014
    Residenza
    Trapani
    Dispositivo
    Nexus 10
    Operatore
    H3G
    Messaggi
    74
    Grazie!
    0
    Ringraziato 14 volte in 12 post
    Quote Originariamente inviato da Wlf Visualizza il messaggio
    Pronti!
    codice:
        <fragment
            android:name="com.google.android.gms.maps.SupportMapFragment"
            android:id="@+id/map"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    Ta-dah! Te l'avevo detto io di postare anche l'XML
    L'errore è piuttosto lampante, ovvero: hai usato "com.google.android.gms.maps.SupportMapFragmen t" invece di "com.google.android.gms.maps.MapFragment"
    Questo ci riconduce al caso iniziale che dicevamo, ovvero una classe non referenziata correttamente. Se vuoi usare il SupportMapFragment devi cambiare tutto di conseguenza, ovvero invece di getFragmentManager usare getSupportFragmentManager e così via.
    Ah, una domanda: hai messo la tua chiave per l'uso delle API nel Manifest? Ci dovrebbe essere una riga tipo:
    codice:
            <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"/>
    dove al posto di "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" c'è la tua api key.

  9. #9
    Wlf
    Wlf non è in linea
    Android Pro
    Registrato dal
    Apr 2012
    Residenza
    RE
    Dispositivo
    Nessuno
    Operatore
    TIM
    Messaggi
    654
    Grazie!
    1
    Ringraziato 76 volte in 67 post
    Quote Originariamente inviato da Ettohg Visualizza il messaggio
    Ta-dah! Te l'avevo detto io di postare anche l'XML
    L'errore è piuttosto lampante, ovvero: hai usato "com.google.android.gms.maps.SupportMapFragmen t" invece di "com.google.android.gms.maps.MapFragment"
    Bingo, ora funziona!
    Tanto lampante che Eclipse non lo segnalava compilando il tutto ed era pure poco visibile se uno non ci badava; probabilmente l'import è stata creata in automatico mentre quella sull'XML è frutto di un copia/incolla.

    Questo ci riconduce al caso iniziale che dicevamo, ovvero una classe non referenziata correttamente. Se vuoi usare il SupportMapFragment devi cambiare tutto di conseguenza, ovvero invece di getFragmentManager usare getSupportFragmentManager e così via.
    Perché ne esitono 2 simili? Qual'è la versione che è più probabile venga deprecata?

    Ah, una domanda: hai messo la tua chiave per l'uso delle API nel Manifest? Ci dovrebbe essere una riga tipo:
    codice:
            <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"/>
    dove al posto di "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" c'è la tua api key.
    Si, l'ho scritto esplicitamente nel primo post!

    Grazie 1000, sei stato veramente gentile e paziente!

  10. #10
    Android
    Registrato dal
    Mar 2014
    Residenza
    Trapani
    Dispositivo
    Nexus 10
    Operatore
    H3G
    Messaggi
    74
    Grazie!
    0
    Ringraziato 14 volte in 12 post
    Quote Originariamente inviato da Wlf Visualizza il messaggio
    Bingo, ora funziona!
    Tanto lampante che Eclipse non lo segnalava compilando il tutto ed era pure poco visibile se uno non ci badava; probabilmente l'import è stata creata in automatico mentre quella sull'XML è frutto di un copia/incolla.
    Eclipse ha tanti difetti (ma proprio tanti), però questo non lo puoi imputare a lui, povero IDE
    Non te lo può segnalare, perché il problema non è a design-time ma a run-time. In sostanza tu dici di leggere da un XML un valore con una classe di un determinato tipo e invece ce n'è un altro tipo. Finché non esegui l'applicazione Eclipse non può sapere se il tuo codice è corretto (per saperlo dovrebbe caricare le risorse specifiche di quell'app, perché bisogna fare il match della "R" corretta dell'activity, vedere se i tipi sono compatibili, etc.).
    Tanto più che in teoria tu potresti avere un XML completamente vuoto e poi aggiungere tutto solo a run-time.
    Puntavo sul riferimento sbagliato perché ovviamente ci sono cascato un sacco di volte

    Perché ne esitono 2 simili? Qual'è la versione che è più probabile venga deprecata?
    Eh, difficilmente una delle due finirà deprecata... La support library è necessaria per fornire compatibilità ai sistemi più vecchi, in sostanza una specie di "porting" di alcune feature ma non solo, ci sono anche feature nuove (hanno aggiunto recentemente lo swipe to refresh).
    Diciamo che tendenzialmente se vuoi avere maggiore compatibilità o ti serve qualche feature specifica devi usare la support library, altrimenti puoi evitare.

12 »

Discussioni simili

  1. come si installano manualmente Google play store e Google Maps
    Da blent nel forum LG Optimus One (P500)
    18-11-2012
    7Risposte
  2. Google maps e google maps android, info mappe.
    Da ocirne71 nel forum Applicazioni
    11-08-2011
    4Risposte
  3. google maps e nokia maps
    Da mojito10 nel forum Android Bar
    26-01-2010
    2Risposte
  4. com.google.android.apps.maps:FriendService
    Da NICHOLAS nel forum Android Bar
    28-08-2009
    2Risposte
  5. installazione google maps 4.0
    Da AndroiDani nel forum Applicazioni
    24-07-2009
    2Risposte

Segnalibri

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  

Search Engine Friendly URLs by vBSEO 3.6.1