Autore Topic: Centrare la mappa passandogli i dati lon e lat  (Letto 1097 volte)

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Centrare la mappa passandogli i dati lon e lat
« il: 12 Gennaio 2012, 13:04:00 CET »
0
Ciao a tutti non riesco a fare questa semplicissima cosa che ho scritto in titolo vedendo un po in giro ho trovato questo codice che opportunamente arrangiato dovrebbe fare al caso mia però mi da errore:
Codice (Java): [Seleziona]
//Otteniamo il riferimento al controller
        mapController = mappa.getController();
        //Rendiamo la mappa cliccabile e quindi ne permettiamo il pan
        mappa.setClickable(true);
        //Utiliziamo i controlli predefiniti per la gestione delle operazioni di zoom
        mappa.setBuiltInZoomControls(true);
        //Impostiamo la distanza dello Zoom a 12 (valori validi da 1 a 21).
        mapController.setZoom(16);
        //tipo di mappa da visualizzare
        mappa.setStreetView(true); //solo strade
        mappa.setSatellite(false); //satellitare
       
        //Aggiungiamo l'overlay sulla mappa per disegnare la nostra posizione
        myLocationOverlay = new MyLocationOverlay(this, mappa);
        List<Overlay> overlays = mappa.getOverlays();
        overlays.add(myLocationOverlay);
        myLocationOverlay.enableMyLocation();
       
      //Aggiorna il marker della mappa      
        mappa.invalidate();
       
        //coordinate punto da visualizzare
        Double lat = 38.57865455740639 * 1E6 , lng = 15.937486627181661 * 1E6;
        //per centrare la mappa sulle coordinate
        GeoPoint centro = new GeoPoint(lat.intValue(), lng.intValue());
        //manda questo punto alla mappa
        mapController.animateTo(centro);

        //mostra il nord
        myLocationOverlay.enableCompass();

l'applicazione viene lanciata da un activity precedente ma prima di essere visualizzata parte l'errore, allego il logcat:

Codice: [Seleziona]
01-12 12:56:04.628: INFO/ActivityManager(109): Starting: Intent { act=com.maki.mambu.MAP cmp=com.maki.mambu/.Mappa (has extras) } from pid 2996
01-12 12:56:04.664: DEBUG/AndroidRuntime(2996): Shutting down VM
01-12 12:56:04.664: WARN/dalvikvm(2996): threadid=1: thread exiting with uncaught exception (group=0x40015560)
01-12 12:56:04.667: ERROR/AndroidRuntime(2996): FATAL EXCEPTION: main
01-12 12:56:04.667: ERROR/AndroidRuntime(2996): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.maki.mambu/com.maki.mambu.Mappa}: java.lang.RuntimeException: stub
01-12 12:56:04.667: ERROR/AndroidRuntime(2996):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
01-12 12:56:04.667: ERROR/AndroidRuntime(2996):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
01-12 12:56:04.667: ERROR/AndroidRuntime(2996):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
01-12 12:56:04.667: ERROR/AndroidRuntime(2996):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
01-12 12:56:04.667: ERROR/AndroidRuntime(2996):     at android.os.Handler.dispatchMessage(Handler.java:99)
01-12 12:56:04.667: ERROR/AndroidRuntime(2996):     at android.os.Looper.loop(Looper.java:130)
01-12 12:56:04.667: ERROR/AndroidRuntime(2996):     at android.app.ActivityThread.main(ActivityThread.java:3683)
01-12 12:56:04.667: ERROR/AndroidRuntime(2996):     at java.lang.reflect.Method.invokeNative(Native Method)
01-12 12:56:04.667: ERROR/AndroidRuntime(2996):     at java.lang.reflect.Method.invoke(Method.java:507)
01-12 12:56:04.667: ERROR/AndroidRuntime(2996):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
01-12 12:56:04.667: ERROR/AndroidRuntime(2996):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
01-12 12:56:04.667: ERROR/AndroidRuntime(2996):     at dalvik.system.NativeStart.main(Native Method)
01-12 12:56:04.667: ERROR/AndroidRuntime(2996): Caused by: java.lang.RuntimeException: stub
01-12 12:56:04.667: ERROR/AndroidRuntime(2996):     at com.google.android.maps.MapActivity.<init>(Unknown Source)
01-12 12:56:04.667: ERROR/AndroidRuntime(2996):     at com.maki.mambu.Mappa.<init>(Mappa.java:22)
01-12 12:56:04.667: ERROR/AndroidRuntime(2996):     at java.lang.Class.newInstanceImpl(Native Method)
01-12 12:56:04.667: ERROR/AndroidRuntime(2996):     at java.lang.Class.newInstance(Class.java:1409)
01-12 12:56:04.667: ERROR/AndroidRuntime(2996):     at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
01-12 12:56:04.667: ERROR/AndroidRuntime(2996):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
01-12 12:56:04.667: ERROR/AndroidRuntime(2996):     ... 11 more

come vedete l'activity viene lanciata ma poi subito interrotta, qualche idea sto diventando pazzo!

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Centrare la mappa passandogli i dati lon e lat
« Risposta #1 il: 12 Gennaio 2012, 13:11:05 CET »
0
Avevo messo i permessi delle mappe non all'interno dell'aplication nel manifest, ora l'errore è questo:
Codice: [Seleziona]
01-12 13:09:54.828: ERROR/AndroidRuntime(3153): FATAL EXCEPTION: main
01-12 13:09:54.828: ERROR/AndroidRuntime(3153): java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation
01-12 13:09:54.828: ERROR/AndroidRuntime(3153):     at dalvik.system.DexFile.defineClass(Native Method)
01-12 13:09:54.828: ERROR/AndroidRuntime(3153):     at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:207)
01-12 13:09:54.828: ERROR/AndroidRuntime(3153):     at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:200)
01-12 13:09:54.828: ERROR/AndroidRuntime(3153):     at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
01-12 13:09:54.828: ERROR/AndroidRuntime(3153):     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
01-12 13:09:54.828: ERROR/AndroidRuntime(3153):     at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
01-12 13:09:54.828: ERROR/AndroidRuntime(3153):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)
01-12 13:09:54.828: ERROR/AndroidRuntime(3153):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
01-12 13:09:54.828: ERROR/AndroidRuntime(3153):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
01-12 13:09:54.828: ERROR/AndroidRuntime(3153):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
01-12 13:09:54.828: ERROR/AndroidRuntime(3153):     at android.os.Handler.dispatchMessage(Handler.java:99)
01-12 13:09:54.828: ERROR/AndroidRuntime(3153):     at android.os.Looper.loop(Looper.java:130)
01-12 13:09:54.828: ERROR/AndroidRuntime(3153):     at android.app.ActivityThread.main(ActivityThread.java:3683)
01-12 13:09:54.828: ERROR/AndroidRuntime(3153):     at java.lang.reflect.Method.invokeNative(Native Method)
01-12 13:09:54.828: ERROR/AndroidRuntime(3153):     at java.lang.reflect.Method.invoke(Method.java:507)
01-12 13:09:54.828: ERROR/AndroidRuntime(3153):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
01-12 13:09:54.828: ERROR/AndroidRuntime(3153):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
01-12 13:09:54.828: ERROR/AndroidRuntime(3153):     at dalvik.system.NativeStart.main(Native Method)

Offline djdedo

  • Utente normale
  • ***
  • Post: 209
  • Respect: +15
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
Re:Centrare la mappa passandogli i dati lon e lat
« Risposta #2 il: 13 Gennaio 2012, 11:58:11 CET »
0
La activity è stata dichiarata nel manifest?

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Centrare la mappa passandogli i dati lon e lat
« Risposta #3 il: 31 Gennaio 2012, 16:15:41 CET »
0
La activity è stata dichiarata nel manifest?
si

Dopo un po sono tornato sul problema. Nessuno riesce a darmi una mano, a me sebra una cosa abbastanza comune e quasi semplice, ma non riesco a tirarmene fuori

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Centrare la mappa passandogli i dati lon e lat
« Risposta #4 il: 31 Gennaio 2012, 16:31:24 CET »
0
penso che questo parte di log sia importante per capire l'errore..adesso lo studio anche io

Codice: [Seleziona]
01-31 16:29:40.753: WARN/dalvikvm(4886): Class resolved by unexpected DEX: Lcom/maki/mambu/Mappa;(0x40513d70):0x8f4a8 ref [Lcom/google/android/maps/MapActivity;] Lcom/google/android/maps/MapActivity;(0x40513d70):0x8f398
01-31 16:29:40.753: WARN/dalvikvm(4886): (Lcom/maki/mambu/Mappa; had used a different Lcom/google/android/maps/MapActivity; during pre-verification)
01-31 16:29:40.753: WARN/dalvikvm(4886): Unable to resolve superclass of Lcom/maki/mambu/Mappa; (104)
01-31 16:29:40.753: WARN/dalvikvm(4886): Link of class 'Lcom/maki/mambu/Mappa;' failed

Offline Verandi

  • Moderatore
  • Utente normale
  • *****
  • Post: 378
  • Respect: +75
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Centrare la mappa passandogli i dati lon e lat
« Risposta #5 il: 31 Gennaio 2012, 18:18:10 CET »
0
La stai provando sull'emulatore? Se sì, prova a dare un'occhiata che nel target name sia scritto Google Apis e non Android x.x, perché mapview ecc non ci sono nelle seconde. ;-)

Offline mambu

  • Utente normale
  • ***
  • Post: 167
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 7
Re:Centrare la mappa passandogli i dati lon e lat
« Risposta #6 il: 31 Gennaio 2012, 18:22:23 CET »
0
Esattamente. Il problema era proprio quello, avevo aggiunto delle librerie java manualmente, ma cosi dava errore é bastato modificare il target del progetto e hanno funzionato immediatamente!